Update of /cvsroot/wisp/wisp/users/dig
In directory sc8-pr-cvs1:/tmp/cvs-serv14469
Modified Files:
tran-builtins tran.py
Log Message:
let interpreter.regpath be an instance of Register
Index: tran-builtins
===================================================================
RCS file: /cvsroot/wisp/wisp/users/dig/tran-builtins,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- tran-builtins 17 May 2003 06:44:35 -0000 1.14
+++ tran-builtins 17 May 2003 08:46:24 -0000 1.15
@@ -79,15 +79,14 @@
:regs|family
def regs_state0 (family):
if Meaning.has_key(family): raise 'duplicate declaration', family
- f = apply(Register, interpreter.regpath)
+ f = interpreter.regpath
Meaning[family] = f
Registers[f] = family
- interpreter.regpath.append(0)
+ interpreter.regpath = interpreter.regpath.child()
interpreter.state = regs_state
def regs_state (tok):
if tok == Semicolon:
- interpreter.regpath.pop()
- interpreter.regpath[-1] += 1
+ interpreter.regpath = interpreter.regpath.parent().next()
if len(interpreter.regpath) == 1:
interpreter.state = outer_state
elif Meaning.has_key(tok):
@@ -95,10 +94,10 @@
interpreter.state = regs_state0
else: raise 'duplicate declaration', tok
else:
- r = apply(Register, interpreter.regpath)
+ r = interpreter.regpath
Meaning[tok] = r
Registers[r] = tok
- interpreter.regpath[-1] += 1
+ interpreter.regpath = interpreter.regpath.next()
regs_state0(family)
align int
Index: tran.py
===================================================================
RCS file: /cvsroot/wisp/wisp/users/dig/tran.py,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -d -r1.85 -r1.86
--- tran.py 17 May 2003 08:37:23 -0000 1.85
+++ tran.py 17 May 2003 08:46:24 -0000 1.86
@@ -161,7 +161,7 @@
def next (this):
l = list(this)
l[-1] += 1
- return apply(Register, this)
+ return apply(Register, l)
def child (this, index = 0):
return apply(Register, this + (index,))
def __repr__ (this):
@@ -284,7 +284,7 @@
interpreter.bss = Linkie('<')
interpreter.current = interpreter.text
interpreter.recordee = None
-interpreter.regpath = [0] # for generating new registers
+interpreter.regpath = Register(0) # for generating new registers
interpreter.hanging = {}
default_output_names = {'elf': 'a.out', 'pe': 'untitled.exe'}
|