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')
|