[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):
|