Commit Graph

1400 Commits

Author SHA1 Message Date
Sam Harwell 9b42acbf4d ATNSimulator.deserialize computes values for PlusBlockStartState.loopBackState and StarLoopEntryState.loopBackState 2012-08-12 11:56:06 -05:00
Sam Harwell 83d8903f9f ATNSimulator.deserialize derives rule stop states and (in the lexer) the outgoing transitions for those states 2012-08-12 10:27:48 -05:00
Sam Harwell 5dacfc9554 Automatic context accessors detect closures 2012-08-09 16:38:49 -05:00
Terence Parr 2d62b73a14 Merge branch 'master' into main 2012-08-06 17:11:38 -07:00
Sam Harwell 199e9892dc Should be checking for ErrorNode (interface) instead of ErrorNodeImpl (class) 2012-08-06 15:01:43 -05:00
Sam Harwell cb09dd6d09 Move RuleNode, TerminalNode, ErrorNode, TerminalNodeImpl, and ErrorNodeImpl to top-level types 2012-08-06 15:01:00 -05:00
Terence Parr 64c050f233 sets at top level work now: s : A | B ; in lexer and parser. 2012-08-05 10:17:00 -07:00
Terence Parr 799b7afc1c playwith grammar 2012-08-05 09:51:52 -07:00
Terence Parr 717af9c371 remove useless code 2012-08-05 09:34:20 -07:00
Terence Parr 8637f31837 rm prints 2012-08-05 09:21:59 -07:00
Terence Parr 78d8002303 allow atn state optimization; sam fixed. 2012-08-04 21:34:42 -07:00
Terence Parr 492980de71 Merge branch 'master' into main 2012-08-04 21:31:37 -07:00
Sam Harwell 2947fe6a2a Fix ATN optimizer leaving loop back state numbers in an inconsistent state 2012-08-04 22:22:51 -05:00
Terence Parr 0d92c25056 improve hashCode 2012-08-04 14:38:57 -07:00
Terence Parr 1bec176eaa Impl Sam's no viable alt avoidance idea that chooses min alt that dips into outer context. unit test 2012-08-04 14:18:57 -07:00
Terence Parr 4090621beb same literal different modes gens no literal in .tokens, rm warning 2012-08-04 13:51:18 -07:00
Terence Parr 6d12cbfddb fix regression; didn't work with stdin 2012-08-04 13:50:52 -07:00
Terence Parr aed26c690e Merge branch 'master' into main 2012-08-04 13:35:36 -07:00
Terence Parr 1e88980db5 Merge remote-tracking branch 'sharwell/aliased-tokens' 2012-08-04 13:33:58 -07:00
Terence Parr c2b49bd94e pull in Sam's ATN alt collapsing optimizations with optimizeStates off as it causes a class cast exception. 2012-08-04 13:32:07 -07:00
Terence Parr c7d1ea7e23 Merge remote-tracking branch 'sharwell/atn-optimization' 2012-08-04 12:08:43 -07:00
Sam Harwell d504d21010 Do not emit token types for lexer rules with a 'type(...)' or 'more' command 2012-08-04 14:05:17 -05:00
Terence Parr 20d96b0a86 Merge remote-tracking branch 'sharwell/automata-cleanup' 2012-08-04 12:04:09 -07:00
Terence Parr f8aeb04eda Merge remote-tracking branch 'sharwell/serialization-type' 2012-08-04 12:03:24 -07:00
Terence Parr b7b2a45c8b update comments 2012-08-04 12:00:13 -07:00
Terence Parr b160a3b14d caching more operations in mergeCache, updated comments, added null chk in front of mergeCache ops. 2012-08-04 11:04:21 -07:00
Terence Parr 5455813145 Merge branch 'main' of github.com:parrt/antlr4 into main 2012-08-03 20:28:34 -07:00
Terence Parr 88dedbd1e0 added mergeArray cache, which didnt help java much but made massive diff to Go grammar. a file, nat.go, went from 2min to 3s in speed. Fixed bug where SLL had preds but they ORd to NONE. made it resolve to min alt. DoubleKeyMap moved to runtime. 2012-08-03 20:27:23 -07:00
Terence Parr 75dcb75a06 added mergeArray cache, which didn't help java much but made massive diff to Go grammar. a file, nat.go, went from 2min to 3s in speed. 2012-08-03 20:23:54 -07:00
Terence Parr 8a0af228d8 Revert "fix null ptr"
This reverts commit 95f5d858cb.
2012-08-03 18:27:57 -07:00
Terence Parr b8c2f5b75b added var for sll loop tail recursion default value; updated unit tests 2012-08-03 18:27:26 -07:00
Terence Parr e7b65057a6 added var for sll loop tail recursion default value; updated unit tests 2012-08-03 18:12:52 -07:00
Terence Parr 95f5d858cb fix null ptr 2012-08-03 16:56:41 -07:00
Sam Harwell 674471c090 Add NotNull annotations, null check, tweak documentation 2012-08-03 08:46:07 -05:00
Sam Harwell 43da92e117 Remove old tree parser code 2012-08-03 08:45:36 -05:00
Sam Harwell 5019278204 Add ATN optimization to collapse multiple alternatives to a single SetTransition where possible. Currently disabled for parser grammars since the code generator doesn't support set transitions. 2012-08-03 08:33:11 -05:00
Sam Harwell 1f4df2ea5a Add ATN optimization to remove null state entries and renumber the remaining states 2012-08-03 08:33:10 -05:00
Sam Harwell f9bacf5060 Add ATN optimizer (currently doesn't provide optimizations) 2012-08-03 08:33:10 -05:00
Sam Harwell eff9e0c47f Move TailEpsilonRemover to top-level class 2012-08-03 08:33:09 -05:00
Sam Harwell 54a3759412 LexerATNSimulator and ParserATNSimulator switch on result of getSerializationType() instead of performing multiple type checks 2012-08-03 08:24:24 -05:00
Terence Parr 86e47b9c02 update comments to explain SLL vs LL, predicate strategy, etc... (and did a small tweak in code) 2012-08-02 18:23:11 -07:00
Terence Parr 06d7c150fd slow again since i had to remove full LL context->alt cache (wasn't correct). But, threaded now makes bigger diff than before. 2012-08-02 17:01:53 -07:00
Sam Harwell ff4eb0f744 Transition classes except for SetTransition are final 2012-08-02 12:15:36 -05:00
Sam Harwell 60df00be4f Transition classes override getSerializationType() 2012-08-02 12:15:35 -05:00
Terence Parr 754e6eb593 mirrored parser ATN sim changes in lexer ATN sim for thread safety. reduced contention for contextCache. 2012-08-01 18:25:25 -07:00
Terence Parr b0b30fec68 cleanup 2012-08-01 18:05:47 -07:00
Terence Parr ff24630494 add cmt 2012-08-01 15:03:32 -07:00
Terence Parr b0c9a9c7c2 tried optimization concerning recomputing DFA states in DFA, but didn't help much. left in as comment for now. 2012-08-01 14:51:37 -07:00
Terence Parr 0cfe3b4206 tweak to leave code for printing DFA DOT 2012-08-01 14:36:19 -07:00
Terence Parr abb0ef5296 Merge branch 'main' of github.com:parrt/antlr4 into main 2012-08-01 13:44:52 -07:00