Update of /cvsroot/wisp/wisp/users/dig
In directory sc8-pr-cvs1:/tmp/cvs-serv10964
Modified Files:
tran.py
Log Message:
minor cleanup
Index: tran.py
===================================================================
RCS file: /cvsroot/wisp/wisp/users/dig/tran.py,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- tran.py 22 Apr 2003 15:57:17 -0000 1.63
+++ tran.py 22 Apr 2003 16:03:02 -0000 1.64
@@ -126,7 +126,7 @@
def contained_registers (this):
return this,
-class Class_Marker (object):
+class Class_Marker (object, Stackable):
def __init__ (this, id):
this.id = id
@@ -185,7 +185,8 @@
raise 'meaningless word', root
m = Meaning[tok]
if isinstance(m, list): prep.push_macro(m)
- else:
+ elif isinstance(m, Stackable): Regstack.append(m)
+ else: # assume tuple
mtype = m[0]
if mtype == 'builtin':
if m[2] & MA_PREFIX:
@@ -194,7 +195,6 @@
m[1](tok)
else:
m[1]()
- elif mtype == 'simple': Regstack.append(m[1])
else: raise 'Unknown meaning type in', `Meaning[tok]`
else: raise 'bad token', tok
@@ -208,15 +208,9 @@
reggen = Generic_Register.child_generator()
MA_PREFIX = 1
-Meaning = {
- 'any': ('simple', Class_Marker('any')),
- 'const': ('simple', Class_Marker('const')),
- 'int': ('simple', Class_Marker('int')),
- 'lit': ('simple', Class_Marker('lit')),
- 'reg': ('simple', Generic_Register),
- 'sum': ('simple', Class_Marker('sum')),
- 'sym': ('simple', Class_Marker('sym')),
-}
+Meaning = {'reg': Generic_Register}
+for m in 'any const int lit sum sym'.split(' '):
+ Meaning[m] = Class_Marker(m)
BUILTINS = '''
@@ -258,7 +252,7 @@
if Meaning.has_key(family): raise 'duplicate declaration', tok
Register(current_register_family)
f = Register(current_register_family)
- Meaning[family] = 'simple', f
+ Meaning[family] = f
Registers[f] = family
current_register_index = 0
def regs_state (tok):
@@ -266,7 +260,7 @@
if tok != Semicolon:
if Meaning.has_key(tok): raise 'duplicate declaration', tok
r = Register(current_register_family, current_register_index)
- Meaning[tok] = 'simple', r
+ Meaning[tok] = r
Registers[r] = tok
current_register_index += 1
else:
|