Update of /cvsroot/wisp/wisp/users/dig
In directory sc8-pr-cvs1:/tmp/cvs-serv27270
Modified Files:
tran-builtins tran.py
Log Message:
implemented |needs|
Index: tran-builtins
===================================================================
RCS file: /cvsroot/wisp/wisp/users/dig/tran-builtins,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- tran-builtins 18 May 2003 17:22:55 -0000 1.36
+++ tran-builtins 18 May 2003 17:43:27 -0000 1.37
@@ -135,6 +135,12 @@
include|name
interpreter.toksrc.push(Lexer(str(name) + '.tran'))
+ interpreter.included[name] = 1
+
+needs|name
+ if not interpreter.included.has_key(name):
+ interpreter.toksrc.push(Lexer(str(name) + '.tran'))
+ interpreter.included[name] = 1
'|name
if not name[0] in '&#!': name = '&' + name
Index: tran.py
===================================================================
RCS file: /cvsroot/wisp/wisp/users/dig/tran.py,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -d -r1.116 -r1.117
--- tran.py 18 May 2003 17:36:44 -0000 1.116
+++ tran.py 18 May 2003 17:43:27 -0000 1.117
@@ -228,7 +228,7 @@
return um
class Interpreter (object):
- __slots__ = 'sections current recordee regpaths hanging regstack state meaning register_names toksrc'.split()
+ __slots__ = 'sections current recordee regpaths hanging regstack state meaning register_names toksrc included'.split()
universal_meaning = make_universal_meaning('tran-builtins')
def make_section_switcher (this, name):
@@ -259,6 +259,7 @@
this.state = this.outer_state
this.toksrc = None # only used during interpretation
this.run('builtin.tran')
+ this.included = {}
def match_generator (this, root):
yield root
if len(this.regstack) < 1: yield None # want more registers
|