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