[Wisp-cvs] wisp/users/dig tran.py,1.133,1.134
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2003-05-22 19:44:38
|
Update of /cvsroot/wisp/wisp/users/dig In directory sc8-pr-cvs1:/tmp/cvs-serv6599 Modified Files: tran.py Log Message: inlined interpret_multi into main Index: tran.py =================================================================== RCS file: /cvsroot/wisp/wisp/users/dig/tran.py,v retrieving revision 1.133 retrieving revision 1.134 diff -u -d -r1.133 -r1.134 --- tran.py 22 May 2003 19:12:54 -0000 1.133 +++ tran.py 22 May 2003 19:21:17 -0000 1.134 @@ -364,26 +364,6 @@ interp.regstack return target -def interpret_multi (toksrc, target, include = [], verbose = 0): - if isinstance(toksrc, str): toksrc = toksrc.split() # FIXME: integers? - if isinstance(toksrc, list): toksrc = Macro_Cursor(toksrc) - - if isinstance(target, str): target = target.split() - - if isinstance(include, str): include = include.split() - - byte_order = target[0] - sections = target[1:] - interp = Interpreter(byte_order) - for s in sections: - interp.add_section(s) - for i in include: interp.run(i + '.tran') - interp.run(toksrc, verbose = verbose) - if interp.regstack: - raise 'regstack not empty after finishing interpretation', \ - interp.regstack - return map((lambda n: interp.sections[n]), target[1:]) - def main (): from getopt import getopt import elf @@ -410,8 +390,17 @@ if output_name == None: output_name = default_output_names[format] if len(args) != 1: raise 'Invalid argument count -- must be 1', args - text, data, bss = interpret_multi(Lexer(args[0]), '< .text .data .bss', - verbose = verbose) + interp = Interpreter('<') + interp.add_section('.text') + interp.add_section('.data') + interp.add_section('.bss') + interp.run(Lexer(args[0]), verbose = verbose) + if interp.regstack: + raise 'regstack not empty after finishing interpretation', \ + interp.regstack + text = interp.sections['.text'] + data = interp.sections['.data'] + bss = interp.sections['.bss'] text.dump(title = 'TEXT') data.dump(title = 'DATA') bss.dump(title = 'BSS') |