diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..567609b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5893d7c --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +.PHONY: all install clean +.SILENT: clean + +all: + $(MAKE) -C java2python/lang + python setup.py build + +install: all + python setup.py install + +clean: + $(MAKE) -C java2python/lang clean + rm -f *.pyo + rm -f *.pyc + rm -f *Parser.py + rm -f *Lexer.py + rm -f *.tokens diff --git a/java2python/compiler/visitor.py b/java2python/compiler/visitor.py index 1295e0b..05c44fc 100644 --- a/java2python/compiler/visitor.py +++ b/java2python/compiler/visitor.py @@ -117,9 +117,12 @@ def makeAcceptType(ft): """ Creates an accept function for the given factory type. """ def acceptType(self, node, memo): """ Creates and returns a new template for a type. """ - name = node.firstChildOfType(tokens.IDENT).text - self.variables.append(name) - return getattr(self.factory, ft)(name=name, parent=self) + try: + name = node.firstChildOfType(tokens.IDENT).text + self.variables.append(name) + return getattr(self.factory, ft)(name=name, parent=self) + except: + return None return acceptType acceptAt = makeAcceptType('at') diff --git a/java2python/lang/.gitignore b/java2python/lang/.gitignore new file mode 100644 index 0000000..a728f72 --- /dev/null +++ b/java2python/lang/.gitignore @@ -0,0 +1,3 @@ +JavaLexer.py +JavaParser.py +Java.tokens diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..c16f09f --- /dev/null +++ b/setup.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python + +from distutils.core import setup + +setup(name='java2python', + version='0.5', + packages=[ + 'java2python', + 'java2python.mod', + 'java2python.config', + 'java2python.lib', + 'java2python.lang', + 'java2python.compiler', + ], + package_data={'java2python.lang': ['Java.tokens']}, + scripts=['bin/j2py'], + )