Commit Graph

671 Commits

Author SHA1 Message Date
Terence Parr 67b2e6d7c1 forgot to move Pair etc... 2012-02-26 21:55:23 -08:00
Terence Parr 41be88dcd5 mv to runtime 2012-02-26 15:49:45 -08:00
Terence Parr b7da3361de fix bug. e : e '(' exprList ')' ... ; came back with e as a list not single element. 2012-02-26 15:33:05 -08:00
Terence Parr db1b86af91 alter visitTerminal interface, add visitErrorNode. 2012-02-25 17:03:41 -08:00
Terence Parr 600c4bbd91 crap. sun already made IdentityHashMap; rm'ing my version 2012-02-25 16:07:34 -08:00
Terence Parr 73ae2b0bfc Added ParseTreeProperty and added generically useful Map that ignores key.hashCode and equals() and simply uses key identity instead. In particular, this is useful for ANTLR because parse trees are actually interfaces laid on top of the rule context objects used by ANTLR's grammar analysis. These context objects use special equals methods and so on. Plus, when we want to annotate trees with values, we want a specific note to have a value. Identity is what we intend. 2012-02-25 13:43:32 -08:00
Sam Harwell 90bcfec456 Simplify CodeGenerator 2012-02-24 15:58:21 -06:00
Sam Harwell 019ea15e3f Catch specific RecognitionException instead of Exception 2012-02-23 16:45:35 -06:00
Sam Harwell 2c8ef6470f Despite being absurdly verbose in Java, use callable objects instead of reflection in CodeGenerator because the latter is prone to runtime errors and debugging headaches 2012-02-23 16:44:54 -06:00
Sam Harwell 9bf6f284df Code cleanup (little things like using .isEmpty() and StringBuilder, and specify some small-scale generic arguments) 2012-02-23 16:42:36 -06:00
Sam Harwell 1c8efd6a48 Allow contravariant error listeners 2012-02-23 16:13:13 -06:00
Sam Harwell 4ae58868d7 Compile listeners and visitors with the unit tests by default to help catch compile errors with them 2012-02-23 16:13:10 -06:00
Sam Harwell db4ce6dd8e Unexpected v3 RecognitionException should cause testActions to fail 2012-02-23 16:13:09 -06:00
Sam Harwell 5ab1c3319c Make sure failed compiles result in failed unit tests 2012-02-23 16:13:08 -06:00
Sam Harwell 44df49f24f Remove tree parser methods from BaseTest 2012-02-23 16:13:07 -06:00
Sam Harwell 1492648d26 Add missing @Override annotations 2012-02-23 16:13:06 -06:00
Terence Parr b459dafeb9 empty alternatives didn't trigger listener events. overrode getParent in ParserRuleContext to make type more specific. 2012-02-23 12:16:14 -08:00
Terence Parr 5a13ddc517 fix regression; LR rules weren't working 2012-02-23 11:37:50 -08:00
Terence Parr d30b36ca01 tweak to compile with 3.4 2012-02-23 10:05:43 -08:00
Sam Harwell 4aee8aa4dc Merge remote-tracking branch 'parrt/master' 2012-02-22 15:46:22 -06:00
Sam Harwell 7c0d5cd726 Fix use of v3 runtime generics 2012-02-22 15:44:17 -06:00
Terence Parr 8a34176d82 added listener unit tests. fixed bug that didn't create ctx getters properly for recursive rules. added Symbol extends Token to parse tree stuff. added visitTerminal to Visitor. recursive alts now track their original, unedited AltAST subtree so we can properly count rule refs etc... later. dup of RuleRefAST was making wrong node. don't gen dispatch methods if no listener. 2012-02-22 12:44:33 -08:00
Sam Harwell 05930b04ce Use Class.asSubclass instead of unchecked cast 2012-02-21 07:50:02 -06:00
Sam Harwell 1970ac240e Generalize several functions in TestPerformance 2012-02-20 20:59:06 -06:00
Sam Harwell 611728a380 Update testPerformance to show information about DFA states in the lexer 2012-02-20 18:51:26 -06:00
Sam Harwell f5edb7653a Add missing @Override attributes in generated code, use hard tabs instead of spaces 2012-02-20 17:23:38 -06:00
Sam Harwell ca0b1d399c Move "metadata" methods to top of generated parser 2012-02-20 17:21:44 -06:00
Sam Harwell a81b1a17eb Extract abstract method in Recognizer for Parser.getGrammarFileName() and generated lexer's getGrammarFileName(). Make Recognizer.getTokenNames(), getRuleNames(), and getATN() abstract - implementations are always generated. 2012-02-20 17:18:57 -06:00
Sam Harwell d166e6d5d1 Emit grammar file name instead of generated class file name in generated implementation of getGrammarFileName(). Implement getGrammarFileName() in generated parser. 2012-02-20 17:14:19 -06:00
Sam Harwell 8773c34375 Fix unit tests 2012-02-20 15:58:21 -06:00
Terence Parr 97660e21ae add alt labels to all alts 2012-02-20 12:26:32 -08:00
Terence Parr e9122cafa3 Merge commit '46d5458' 2012-02-20 12:22:37 -08:00
Terence Parr 1a2094b2dd merging Sam\'s fix to full ctx pred etc...; effectively did pull parrt/antlr4#15, includes fixes antlr/antlr4#14, includes fixes antlr/antlr4#15 2012-02-20 11:48:03 -08:00
Terence Parr 7287f5a2d3 prefix left-recursive alts weren't recognized with actions on end. 2012-02-20 10:51:34 -08:00
Terence Parr 642177f716 forgot to add dispatch methods in context objects. in-parse listeners should work now. 2012-02-19 11:25:15 -08:00
Terence Parr 4e8931519c added -parse-listener option and generated code if option on. parse listener differs from tree listener 2012-02-18 16:49:05 -08:00
Terence Parr 71b75c88dd Fix regression; did not gen enter/exit in alt label structs. 2012-02-18 15:16:42 -08:00
Terence Parr c6fd897287 altered naming scheme for listeners/visitors
* names changed. visit() -> visitX(). enter/exit() -> enter/exitX()
* capitalizing automatically now. rule s -> SContext not sContext
* no enter/exit method in generic rule context object if rule has alt labels, nor in interfaces.
* dup labels allowed in same rule
* label X or x illegal if rule x exists
2012-02-18 12:40:47 -08:00
Terence Parr 725b105135 Added visitor gen mechanism, runtime support 2012-02-16 17:49:57 -08:00
Sam Harwell 82aac56c98 Fix rule list labels 2012-02-16 17:35:01 -06:00
Sam Harwell 0520400493 TestPerformance: print additional information about states/configs 2012-02-16 15:41:43 -06:00
Sam Harwell feeaffc710 Fix listener name BlankJavaListener->JavaBaseListener 2012-02-15 19:06:27 -06:00
Sam Harwell 27806dc490 Merge remote-tracking branch 'parrt/master' 2012-02-15 14:58:16 -06:00
Sam Harwell 79f0de4cde Fix unit test checking for incorrect input index in warning message 2012-02-15 13:51:28 -06:00
Sam Harwell 685cf7b7d5 Further improvements to auto-label generic usage, return Collections.emptyList() instead of null when no children are found 2012-02-15 12:31:43 -06:00
Sam Harwell bc87562aff Remove unused exception LexerRecognitionExeption [sic] 2012-02-15 11:01:01 -06:00
Sam Harwell 2d2134eb6b Update BaseTest to compile XBaseListener instead of BlankXListener 2012-02-15 10:48:49 -06:00
Sam Harwell 40af402822 Allow enabling TEST_IN_SAME_PROCESS via jvm argument 2012-02-15 10:47:50 -06:00
Sam Harwell 707311996d Updated TestPerformance (features, grammar fixes) 2012-02-15 10:28:59 -06:00
Sam Harwell 19afb4a8bc Specify surefire plugin version 2012-02-15 10:28:58 -06:00