[Wisp-cvs] wisp/users/dig tran.py,1.113,1.114
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2003-05-18 16:55:54
|
Update of /cvsroot/wisp/wisp/users/dig In directory sc8-pr-cvs1:/tmp/cvs-serv10986 Modified Files: tran.py Log Message: extracted load_primitives from make_universal_meaning Index: tran.py =================================================================== RCS file: /cvsroot/wisp/wisp/users/dig/tran.py,v retrieving revision 1.113 retrieving revision 1.114 diff -u -d -r1.113 -r1.114 --- tran.py 18 May 2003 16:17:06 -0000 1.113 +++ tran.py 18 May 2003 16:55:48 -0000 1.114 @@ -205,15 +205,10 @@ MA_PREFIX = 1 -def make_universal_meaning (fn): - um = {'...': Unique('...')} - for m in 'any const int lit sum sym'.split(' '): um[m] = Class_Marker(m) - - # load builtin primitives +def load_primitives (d, fn): bf = open(fn, 'r') builtins = bf.read() bf.close() - for b in builtins.split('\n\n'): if b[0] != '#': name, code = b.split('\n', 1) @@ -223,7 +218,12 @@ exec 'def _p (interpreter, %s):\n%s\n' % (pa, code) flags = 0 if pa: flags |= MA_PREFIX - um[name] = 'builtin', _p, flags + d[name] = 'builtin', _p, flags + +def make_universal_meaning (fn): + um = {'...': Unique('...')} + for m in 'any const int lit sum sym'.split(' '): um[m] = Class_Marker(m) + load_primitives(um, 'tran-builtins') return um class Interpreter (object): |