Terence Parr
|
dd69a7532d
|
getToken/s returns TerminalNode now per Sam's suggestion. altered tests. seems correct.
|
2012-02-27 21:39:30 -08:00 |
Terence Parr
|
9ae92a5cef
|
reformat
|
2012-02-27 21:32:25 -08:00 |
Terence Parr
|
ae08867ff3
|
alter visitTerminal interface, add visitErrorNode.
|
2012-02-26 22:07:45 -08:00 |
Terence Parr
|
67b2e6d7c1
|
forgot to move Pair etc...
|
2012-02-26 21:55:23 -08:00 |
Terence Parr
|
e9a3de645a
|
add useful method to get a->b pairs out
|
2012-02-26 15:55:46 -08:00 |
Terence Parr
|
41be88dcd5
|
mv to runtime
|
2012-02-26 15:49:45 -08:00 |
Terence Parr
|
1c68c10599
|
Merge branch 'master' of https://github.com/sharwell/antlr4
|
2012-02-26 15:36:42 -08:00 |
Sam Harwell
|
bedc502d33
|
Set the listeners list back to null if all listeners are removed from it
|
2012-02-26 17:33:52 -06: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
|
1e438746be
|
added interface for error nodes, method in terminalnode.
|
2012-02-26 15:32:18 -08:00 |
Terence Parr
|
db1b86af91
|
alter visitTerminal interface, add visitErrorNode.
|
2012-02-25 17:03:41 -08:00 |
Terence Parr
|
528e9c7b86
|
fix cut/paste error
|
2012-02-25 16:09:29 -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
|
a74da2df60
|
Use ==ParserRuleContext.EMPTY instead of .isEmpty()
|
2012-02-24 15:57:43 -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
|
1e3e092326
|
Fix unchecked warnings in clone()
|
2012-02-23 16:13:15 -06:00 |
Sam Harwell
|
e400f5b1a1
|
Move Recognizer._errHandler to Parser class
|
2012-02-23 16:13:14 -06:00 |
Sam Harwell
|
1c8efd6a48
|
Allow contravariant error listeners
|
2012-02-23 16:13:13 -06:00 |
Sam Harwell
|
6c26917b90
|
Use generic List instead of generic array for listeners
|
2012-02-23 16:13:12 -06:00 |
Sam Harwell
|
7dcb148d73
|
CommonTokenStream now extends BufferedTokenStream<Token> instead of BufferedTokenStream<CommonToken>. Token interface provides the same information and the change helps the work on improving generics.
|
2012-02-23 16:13:11 -06:00 |
Sam Harwell
|
d7dbef2782
|
Can get token start and stop index from Token interface now
|
2012-02-23 16:13:11 -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 |
Sam Harwell
|
96c08bec52
|
Remove unused imports
|
2012-02-23 16:12:02 -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 |
Terence Parr
|
58ef729be5
|
renamed next to target. factored out to methods, commented code.
|
2012-02-21 12:47:34 -08:00 |
Terence Parr
|
0e23c7e2a3
|
Merge commit '611728a3806d6a8c9fe44a538d34b448784986c1'
|
2012-02-21 12:14:11 -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
|
5fb389b6e4
|
Improve lexer performance during warm-up by tracking DFA states within exec (ATN) and using existing edges when available
|
2012-02-20 19:20:50 -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 |
Sam Harwell
|
2982f4b5a6
|
Add comments describing the semantics of an ATNConfig set with partially predicated alts in ParserATNSimulator
|
2012-02-20 15:43:02 -06:00 |
Sam Harwell
|
16fa8ba4f4
|
Add comments describing the context depth latch in ParserATNSimulator.closure
|
2012-02-20 15:25:58 -06:00 |