[Wisp-cvs] wisp/users/dig interpreter.py,1.3,1.4 tran-builtins,1.21,1.22 tran.py,1.95,1.96
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2003-05-17 12:12:56
|
Update of /cvsroot/wisp/wisp/users/dig In directory sc8-pr-cvs1:/tmp/cvs-serv30078 Modified Files: interpreter.py tran-builtins tran.py Log Message: deglobalized register handling Index: interpreter.py =================================================================== RCS file: /cvsroot/wisp/wisp/users/dig/interpreter.py,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- interpreter.py 17 May 2003 12:01:58 -0000 1.3 +++ interpreter.py 17 May 2003 12:12:53 -0000 1.4 @@ -182,7 +182,7 @@ yield 'const' elif isinstance(object, Register): while object <> None: - yield Registers[object] + yield str(object) # involves appropriate lookup object = object.parent() yield 'any' @@ -205,13 +205,10 @@ except StopIteration: pass except StopIteration: pass -Generic_Register = Register([]) - MA_PREFIX = 1 def make_universal_meaning (fn): um = { - 'reg': Generic_Register, '...': Unique('...'), 'tetras': ['dup', '+', 'dup', '+'], # FIXME } @@ -235,7 +232,7 @@ return um class Interpreter (object): - __slots__ = 'sections current recordee regpaths hanging regstack state meaning'.split() + __slots__ = 'sections current recordee regpaths hanging regstack state meaning register_names'.split() universal_meaning = make_universal_meaning('tran-builtins') def make_section_switcher (this, name): @@ -248,9 +245,13 @@ for s in sections: this.sections[s] = Linkie(byte_order) this.meaning[s] = 'builtin', this.make_section_switcher(s), 0 + this.register_names = {} + reg = Register([], names = this.register_names) + this.meaning['reg'] = reg + this.register_names[reg] = 'reg' this.current = this.sections[sections[0]] this.recordee = None - this.regpaths = [Register([0])] # for generating new registers + this.regpaths = [reg.child()] # for generating new registers this.hanging = {} this.regstack = [] this.state = this.outer_state Index: tran-builtins =================================================================== RCS file: /cvsroot/wisp/wisp/users/dig/tran-builtins,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- tran-builtins 17 May 2003 11:05:34 -0000 1.21 +++ tran-builtins 17 May 2003 12:12:53 -0000 1.22 @@ -95,7 +95,7 @@ interpreter.regpaths[-1] = f.next() interpreter.regpaths.append(f.child()) interpreter.meaning[family] = f - Registers[f] = family + interpreter.register_names[f] = family interpreter.state = regs_state def regs_state (tok): if tok == Semicolon: @@ -115,7 +115,7 @@ else: interpreter.regpaths[-1] = r.next() interpreter.meaning[tok] = r - Registers[r] = tok + interpreter.register_names[r] = tok regs_state0(family) align int Index: tran.py =================================================================== RCS file: /cvsroot/wisp/wisp/users/dig/tran.py,v retrieving revision 1.95 retrieving revision 1.96 diff -u -d -r1.95 -r1.96 --- tran.py 17 May 2003 11:35:29 -0000 1.95 +++ tran.py 17 May 2003 12:12:53 -0000 1.96 @@ -26,8 +26,6 @@ interpreter = Interpreter('<', ['.text', '.data', '.bss']) -Registers = {Generic_Register: 'reg'} # for reverse translation - default_output_names = {'elf': 'a.out', 'pe': 'untitled.exe'} verbose = 0 format = 'elf' |