5
class Visitor(antlr.ASTVisitor):
6
def __init__(self,*args):
7
super(Visitor,self).__init__(*args)
10
self.cout = sys.stdout
12
if isinstance(args[0],file):
18
print " " * self.level
20
def printf(self,fmt,*args):
25
self.cout.write(fmt % argv)
30
def visit1(self,node):
37
k = node.getFirstChild()
38
s = node.getNextSibling()
40
self.printf("( <%s> ",c)
51
### some global vars referenced by lexer and parser
58
assert incfile.selector
59
return incfile.selector
76
assert incfile.lexer == l
77
assert incfile.selector
78
assert incfile.selector == s
80
assert incfile.parser == p
88
S = antlr.TokenStreamSelector()
91
S.addInputStream(L,"main")
94
P = incfile_p.Parser(S)
95
P.setFilename(L.getFilename())
104
### Parse the input expression
107
except antlr.ANTLRException, ex:
108
print "*** error(s) while parsing."
117
print "stop - no AST generated."
122
print "Tree: " + ast.toStringTree()
123
print "List: " + ast.toStringList()
124
print "Node: " + ast.toString()
130
if __name__ == "__main__":