Compare commits

..

No commits in common. '35ec0ece22ad1032f9f74284b0f1a06a40205937' and 'ca6f0877da2eb9a242f1459c30e5564bb075db63' have entirely different histories.

  1. 12
      lib.py

@ -2,14 +2,15 @@
# 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.copy(ids) lids = copy.deepcopy(ids)
lfns = copy.copy(fns) lfns = copy.deepcopy(fns)
def _ident(name): def _ident(name):
return ("identifier", name) return ("identifier", name)
def _destr(t): def _destr(t):
@ -114,7 +115,8 @@ def execute(program):
#print(prototype) #print(prototype)
return _execute(prototype, lids, lfns) return _execute(prototype, lids, lfns)
else: else:
return subs print("no such function", ctx[0])
return None
else: else:
#print("base", ctx) #print("base", ctx)
@ -123,8 +125,6 @@ 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