[Wisp-cvs] wisp/users/dig interpreter.py,1.5,1.6
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2003-05-17 12:25:42
|
Update of /cvsroot/wisp/wisp/users/dig In directory sc8-pr-cvs1:/tmp/cvs-serv2369 Modified Files: interpreter.py Log Message: added the interpreter argument to builtins Index: interpreter.py =================================================================== RCS file: /cvsroot/wisp/wisp/users/dig/interpreter.py,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- interpreter.py 17 May 2003 12:17:09 -0000 1.5 +++ interpreter.py 17 May 2003 12:25:39 -0000 1.6 @@ -225,7 +225,7 @@ np = (name + '|').split('|') name = np[0] pa = np[1] - exec 'def _p (%s):\n%s\n' % (pa, code) + exec 'def _p (interpreter, %s):\n%s\n' % (pa, code) flags = 0 if pa: flags |= MA_PREFIX um[name] = 'builtin', _p, flags @@ -236,7 +236,8 @@ universal_meaning = make_universal_meaning('tran-builtins') def make_section_switcher (this, name): - def switcher (): this.current = this.sections[name] + def switcher (interpreter): + interpreter.current = interpreter.sections[name] return switcher def __init__ (this, byte_order, sections = ['.text']): @@ -277,9 +278,9 @@ if m[2] & MA_PREFIX: tok = prep.get_token() if not isinstance(tok, str): raise 'word expected', tok - m[1](tok) + m[1](this, tok) else: - m[1]() + m[1](this) else: raise 'Unknown meaning type in', `this.meaning[tok]` else: raise 'Unknown meaning format for', tok else: raise 'bad token', tok |