Use a called rule stack to prevent stack overflow in LL1Analyzer
Use 0-based indexing for decision lookahead so we aren't wasting memory, and array indexing is now consistent with ATN state outgoing transitions indexing
Add some assertions
Use IntervalSet.or and Arrays.copyOf instead of duplicating their functionality
Updated documentation in LL1Analyzer
Use JavaUnicodeInputStream for proper handling of Unicode escape sequences in Java source code
Proper Unicode identifier handling
Report file names with lexer errors
Use explicit groups so the ATN can collapse sets
Add keywords as explicit lexer rules; enum and assert are always keywords (could extend JavaLexer and override emit to change this behavior)
'true' and 'false' are both lexed as a BooleanLiteral token
Improved support for Java 7 numeric literals
Add NullLiteral to the lexer
Add separators and operators to the lexer
Add unambiguous shift and comparison operators to the lexer
Clean up character and string literals in the lexer
Some additional lexer tweaks
Merge pull request #252 from sharwell/tool-updates

Tool updates
Merge pull request #253 from sharwell/java7-grammars

Java 7 grammars