Commit Graph

1482 Commits

Author SHA1 Message Date
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
Terence Parr 80560efcf8 wow. i think i got threaded working. rm readwrite lock, sync add add to shared context and add dfa state 2012-07-31 19:39:31 -07:00
Terence Parr feb41eee15 fix a few unit tests. 2012-07-31 19:09:40 -07:00
Terence Parr 3d2cbe087d refactoring 2012-07-31 18:54:00 -07:00
Terence Parr abb268416e Merge branch 'master' into main 2012-07-31 18:34:33 -07:00
Terence Parr b8f7acdeac refactor to create DFAState target, fill it in, then add to DFA only after it's complete. Combine some helper methods. simpler. 2012-07-31 18:26:39 -07:00
Sam Harwell 170a8347bb Emit a RangeTransition instead of SetTransition if a set has only one interval 2012-07-31 09:07:04 -05:00
Terence Parr fedb7c105b tweaks 2012-07-30 22:24:12 -07:00
Terence Parr 85ea296632 added D2 as dup temp of D state. almost ready to change position of addDFAState 2012-07-30 22:15:09 -07:00
Terence Parr 56c304ead4 Merge branch 'master' into main 2012-07-30 17:29:26 -07:00
Sam Harwell 8c820269e4 Fix IntegerList.binarySearch 2012-07-30 19:24:20 -05:00
Terence Parr c893f2af08 Pulled Sam's new IntegerList 2012-07-30 15:20:43 -07:00
Sam Harwell 7d4f71d829 Use IntegerList in the tool 2012-07-30 15:18:07 -05:00
Sam Harwell dcdcad8feb Add IntegerList.addAll overload for Collection<Integer>, add contains, sort, hashCode, equals, toString. 2012-07-30 15:17:02 -05:00
Sam Harwell 3bf99d6d88 Add IntervalSet.toIntegerList(), use IntegerStack to hold mode stack in Lexer 2012-07-30 15:13:26 -05:00
Sam Harwell fa62570737 Add IntegerList and IntegerStack, behaves like ArrayList<Integer> and ArrayDeque<Integer> (mostly) except doesn't require boxing 2012-07-30 15:13:26 -05:00
Terence Parr c0ece0bd09 add read/write lock to lexer. 2012-07-29 17:21:10 -07:00
Terence Parr 489f3d17cb tweak 2012-07-29 17:04:05 -07:00
Terence Parr 8836e13954 use ReentrantReadWriteLock to sync. works much better but still occasional illegal monitor state :( 2012-07-29 17:01:41 -07:00