From 6de7f494b1e5338bfa6f69a70ae1dc40a09a6424 Mon Sep 17 00:00:00 2001 From: Eric Powers Date: Wed, 1 Feb 2012 00:31:44 -0800 Subject: [PATCH 1/2] Added python setup.py script and .gitignore for python setup.py build dir. --- .gitignore | 1 + setup.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 .gitignore create mode 100644 setup.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..567609b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..900d7b0 --- /dev/null +++ b/setup.py @@ -0,0 +1,16 @@ +#!/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', + ], + scripts=['bin/j2py'], + ) From d10f8c82d346b7510d166a932da520e5e3e02014 Mon Sep 17 00:00:00 2001 From: Eric Powers Date: Wed, 1 Feb 2012 01:43:08 -0800 Subject: [PATCH 2/2] Added top-level Makefile. Temp fix for crashes in compiler. --- Makefile | 17 +++++++++++++++++ java2python/compiler/visitor.py | 9 ++++++--- java2python/lang/.gitignore | 3 +++ setup.py | 1 + 4 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 Makefile create mode 100644 java2python/lang/.gitignore 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 index 900d7b0..c16f09f 100644 --- a/setup.py +++ b/setup.py @@ -12,5 +12,6 @@ 'java2python.lang', 'java2python.compiler', ], + package_data={'java2python.lang': ['Java.tokens']}, scripts=['bin/j2py'], )