All Downloads are FREE. Search and download functionalities are using the official Maven repository.

Misc.make_visitor.py Maven / Gradle / Ivy

Go to download

Jython is an implementation of the high-level, dynamic, object-oriented language Python written in 100% Pure Java, and seamlessly integrated with the Java platform. It thus allows you to run Python on any Java platform.

There is a newer version: 2.7.4
Show newest version
"""generate vistor code for javacc grammar.  code goes in SimpleNode.java"""

import string

file = "c:\\jpython\\JavaCode\\org\\python\\parser\\PythonGrammarTreeConstants.java"

fp = open(file, "r")
lines = fp.readlines()
fp.close()

names = []

in_names = 0
for line in lines:
	if in_names:
		if "}" in line:
			in_names = 0
			continue
		name = string.split(line, '"')[1]
		#if name != 'void':
		names.append(name)
	else:
		if "[" in line:
			in_names = 1
		
print names	


print "\t\tswitch(id) {"

for i in range(len(names)):
	print "\t\tcase %d:\r" % i
	print "\t\t\treturn visitor.%s(this);\r" % names[i]
print "\t\t}\r"


for name in names:
	print "\tpublic Object %s(SimpleNode n) throws Exception {\r" % name
	print '\t\tthrow new ParseException("Unhandled Node: "+n);\r'
	print "\t}\r"
	print '\r'
	




© 2015 - 2024 Weber Informatics LLC | Privacy Policy