Compare commits

..

2 Commits

  1. 12
      lib.py

@ -2,15 +2,14 @@
# BET UR MAD BAKADESU HAHAHAHHAHAHAHAH # BET UR MAD BAKADESU HAHAHAHHAHAHAHAH
# t. cirno # t. cirno
idspace = {}
funcspace = {}
def execute(program): def execute(program):
import traceback, copy import traceback, copy
def _execute(ctx, ids, fns): def _execute(ctx, ids, fns):
import sys, functools import sys, functools
lids = copy.deepcopy(ids) lids = copy.copy(ids)
lfns = copy.deepcopy(fns) lfns = copy.copy(fns)
def _ident(name): def _ident(name):
return ("identifier", name) return ("identifier", name)
def _destr(t): def _destr(t):
@ -115,8 +114,7 @@ def execute(program):
#print(prototype) #print(prototype)
return _execute(prototype, lids, lfns) return _execute(prototype, lids, lfns)
else: else:
print("no such function", ctx[0]) return subs
return None
else: else:
#print("base", ctx) #print("base", ctx)
@ -125,6 +123,8 @@ def execute(program):
map(lambda a: _execute(a, lids, lfns), ctx) map(lambda a: _execute(a, lids, lfns), ctx)
) )
return ctx return ctx
idspace = {}
funcspace = {}
for strand in program: for strand in program:
try: _execute(strand, idspace, funcspace) try: _execute(strand, idspace, funcspace)
# _execute(strand) # _execute(strand)

Loading…
Cancel
Save