2012-06-26 Benjamin S Wolf Initial Python3 target, branched from the Python target by Benjamin Niemann, with lots of code cleanup and minor refactoring. * CodeGenerator.java, Python3.stg: Generated code now uses set notation for setTest, rather than long conditionals like "a == FOO or a == BAR or 10 <= a <= 12". This is a (slight) performance improvement. * tokens.py: Token objects no longer have get/set methods for their attributes as I switched them to use @property instead. The attributes should be accessed directly. * tokens.py, Python3.stg: Fix a circular dependency in generated parsers, and give Token objects the ability to return their typeName when asked for it. (The generated recognizer gives Token the mapping from token type to type name.) 2007-11-03 Benjamin Niemann * PythonTarget.java, dfa.py, exceptions.py, recognizer.py, streams.py: ANTLRStringStream.LA() now returns the character's ordinal and generated lexers operate on integers. Also made various performance tunings. 2007-10-07 Benjamin Niemann * main.py, Python.stg (outputFile): Added simple __main__ section to generated code, so (simple) grammars can be executed as standalone script. * tree.py (RecognitionException.extractInformationFromTreeNodeStream), exceptions.py (CommonTree): Small bugfixes. 2007-09-30 Benjamin Niemann * recognizers.py (TokenSource): Added iterator interface to TokenSource class - and thus to Lexer. 2007-06-27 Benjamin Niemann * Python.stg (genericParser, parser, treeParser): Use correct @init action block for tree parsers. 2007-05-24 Benjamin Niemann * Python.stg (rule): Added support for @decorate {...} action for parser rules to add decorators to the rule method. 2007-05-18 Benjamin Niemann * Python.stg (isolatedLookaheadRangeTest, lookaheadRangeTest): Minor improvement of generated code (use ' <= <= ' instead of ' >= and <= ').