Commit Graph

970 Commits

Author SHA1 Message Date
Terence Parr 3638073efe *.g cmdline works now to topologically sort by tokenVocab dependencies. 2012-09-08 12:26:32 -07:00
Terence Parr fcb67d8d93 ensure 3 literal redefs don't leave literal around. 2012-09-08 10:52:41 -07:00
Terence Parr 4b31da9e7c VERSION back to nonstatic 2012-09-08 10:25:21 -07:00
Terence Parr bbfc441438 put range back in for parsers as error alt. 2012-09-08 10:21:08 -07:00
Terence Parr dfeca1b9d9 rm abstract option 2012-09-07 17:01:16 -07:00
Terence Parr 5403d9bae9 pay attention to the TokenLabelType 2012-09-07 16:58:28 -07:00
Terence Parr e63e9774d8 ooops; it did not do the right thing for lexers. fixed 2012-09-06 18:29:53 -07:00
Terence Parr 4e68b4d3eb superClass capitalization consistent now with option in grammar; lexer was not letting me set the superclass. 2012-09-06 18:10:21 -07:00
Terence Parr c5ade128fd made a better error message when they target was not available and also I bail out of the code generation process. 2012-09-06 17:09:47 -07:00
Terence Parr 1504c2f8f3 was not paying attention to the encoding from the command line when generating output files. 2012-09-06 16:49:00 -07:00
Terence Parr b1277c5081 mv order in which I create the error manager 2012-09-06 16:30:44 -07:00
Terence Parr b3b02a5449 rm T='literal' in tokens { }. Also it's comma-separated not ';' terminated now. tokens { A,B } 2012-09-06 14:50:44 -07:00
Terence Parr 2d324058d6 set version 2012-09-06 14:07:49 -07:00
Terence Parr d31378229c set help msg 2012-09-06 14:06:56 -07:00
Terence Parr 26bf5acf19 made "a4 -message-format antlr T.g" work; deactivated the options that don't work yet. 2012-09-06 13:55:02 -07:00
Terence Parr 60a17f3157 fix help 2012-09-05 18:38:37 -07:00
Terence Parr cd35a53fc8 rm print 2012-09-05 18:37:53 -07:00
Terence Parr e4a9a44671 grammar option cleanup. was a mess. -Doption=value works to override grammar options on cmd-line now. 2012-09-05 18:37:28 -07:00
Terence Parr ab64b1c62d update / shuffle legal options 2012-09-05 17:56:30 -07:00
Terence Parr c7603c24ea fix atn decode 2012-09-04 21:35:37 -07:00
Terence Parr 7c955e3cae fixed for new atn serialization 2012-09-04 20:04:50 -07:00
Terence Parr 5c70d5072a fixed for new atn structure 2012-09-04 19:44:33 -07:00
Terence Parr c277f445e7 rip out remainder of parselistener in code gen 2012-09-04 19:34:55 -07:00
Terence Parr 8dd215f4b4 Merge branch 'deserialize' of github.com:sharwell/antlr4 into main 2012-09-04 18:59:38 -07:00
Terence Parr 201db8b6d0 merge sam's pulls 2012-09-04 18:59:20 -07:00
Terence Parr a0563656f7 Merge branch 'closure-labels' of github.com:sharwell/antlr4 into main 2012-09-04 18:40:25 -07:00
Terence Parr 11e6bdaef6 Merge branch 'main' of github.com:parrt/antlr4 into main 2012-09-02 14:22:37 -07:00
Terence Parr cdf3454bc5 tweaks; mostly comments. 2012-09-02 14:21:26 -07:00
Terence Parr 1eb258b8f8 tweak test 2012-08-27 11:25:54 -07:00
Terence Parr 60d99e62dc rm ParseListener; tested the tracer with left recursive rules; weird but deterministic for entry events. 2012-08-27 11:22:42 -07:00
Terence Parr e33e355d66 tweak comment 2012-08-26 16:32:28 -07:00
Terence Parr ad737ebdf6 tweak 2012-08-26 16:03:59 -07:00
Sam Harwell 17f7efca0a Never serialize edges for rule stop states since they can be trivially derived during ATN deserialization 2012-08-17 10:51:44 -05:00
Terence Parr 1d92b311ce Merge branch 'master' into main 2012-08-13 12:38:00 -07:00
Sam Harwell 2975c90fac Serialize/deserialize the value of BlockStartState.endState 2012-08-12 11:58:26 -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 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 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 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 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 e7b65057a6 added var for sll loop tail recursion default value; updated unit tests 2012-08-03 18:12:52 -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
Terence Parr 0cfe3b4206 tweak to leave code for printing DFA DOT 2012-08-01 14:36:19 -07:00
Terence Parr feb41eee15 fix a few unit tests. 2012-07-31 19:09:40 -07:00
Terence Parr abb268416e Merge branch 'master' into main 2012-07-31 18:34:33 -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 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
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
Terence Parr 4fe9efeb85 tweak tester 2012-07-29 14:28:59 -07:00
Terence Parr c97f36bd89 reorg workers 2012-07-29 13:45:41 -07:00
Terence Parr 230b687b03 add barrier 2012-07-29 13:03:10 -07:00
Terence Parr 5712424156 create 2 worker threads for testjavalr 2012-07-29 12:28:29 -07:00
Terence Parr 7181483bbf test javalr does -2x now 2012-07-29 10:57:51 -07:00
Terence Parr 510c1c0dd9 clean up 2012-07-29 10:50:14 -07:00
Terence Parr 79594a942e synchronized lexer. just as fast now to build new parser/lexer each iter in TestJavaLR 2012-07-29 10:48:08 -07:00
Terence Parr e3e739dfc7 The lexer and parser ATN simulators' adaptivePredict now synchronize on the specific DFA of the decision to be simulated. This should prevent a lot of contention that would occur if we synchronize the entire adaptivePredict method. When the individual DFA are created, we also synchronize on the shared DFA[] table quickly to create a DFA and insert it into the array. Code generation modified to have _decisionToDFA generated at the top of both the parser and the lexer. Simulators created now with the recognizer, ATN, DFA[]. Not sure the LexerInterp/ParserInterp work but pushing ahead anyway for the moment. 2012-07-29 09:49:35 -07:00
Terence Parr 109880b7ab added ALIAS_REASSIGNMENT warning so redef of string literal among rules caught. First literal goes to .tokens. 2012-07-28 14:24:39 -07:00
Terence Parr 680df17280 rm transient context cache for closure computations; slight speed improvement maybe. less complex. 2012-07-28 10:51:07 -07:00
Terence Parr 26165c5d54 atnconfigsets can be readonly now. no copying to put into new DFA state, set readonly instead. made atnconfigset.equals() more accurate. add -notree option to test java lr 2012-07-27 10:34:59 -07:00
Terence Parr 3c7b4c2a33 big cleanup. 2012-07-26 17:28:10 -07:00
Terence Parr 48ddc0bcee add gc() 2012-07-26 12:42:10 -07:00
Terence Parr 86a4f26596 still has dfa and local predict ctx cache, but doesn't help much, and takes time. Eval preds as we pass them in full ctx mode; no sempred ctx in configs then. removed LANDMINE!!!!!!!!! some lame code that uses fields like _startIndex; fix that. added bail option to testjavalr. 18s to parse java.* with javalr full ctx now. 2012-07-25 18:47:34 -07:00
Terence Parr 3774c5752b add more tracking var 2012-07-25 10:30:19 -07:00
Terence Parr 3cec976f7e Don't pursue the closure if there is just one state or it's predicting unique alt. Fixed up computeReachSet() to do this. Dropped from 6s to 4.5s for TestJavaLR -SLL on java.* with 45M max footprint. 2012-07-24 18:45:23 -07:00
Terence Parr 2495ce6b20 add SLL option to the ATN simulator and use in TestJavaLR. 2012-07-24 17:42:47 -07:00
Terence Parr 2ae4d4eebd add ctx cache to merge op. now i get optimal graph it seems. doesn't seem longer for java.* with JavaLR. still landmine in Pattern.java, Foo.java. Made toDOTString sort predctx nodes by id for repeatable tests. updated unit tests. 2012-07-24 16:26:01 -07:00
Terence Parr ac4f00524e add ctx cache. 2012-07-24 14:19:43 -07:00
Terence Parr 320868d661 added code chking size of ctxs. changed configsets -> configs. added recur getallnodes. 2012-07-24 10:04:51 -07:00
Terence Parr 00c4f98134 add test file that kills antlr 2012-07-23 10:35:02 -07:00
Terence Parr d8a9207041 improve combine common parents, return a or b in merge array of merged is a or b; new unit test. 2012-07-22 20:07:46 -07:00
Terence Parr e18b9132d9 cleanup and merge common parents for array merge; fixes unit test 2012-07-22 16:39:53 -07:00
Terence Parr f7eeca274f reorg closure and fix bug where $ in arrayctx wouldn't perform global follow. fix case in array merge that didn't check both a[i], b[i] as $ (only matters in full ctx). unit tests for graph show fewer ctx's created. 2012-07-22 16:09:45 -07:00
Terence Parr eb78593469 rm comment 2012-07-22 15:43:01 -07:00
Terence Parr 44ae1dad0b if merged array is 1 node, return singleton. more unit tests 2012-07-22 15:05:12 -07:00
Terence Parr 829ad9191c didn't join a$ + bx as [a,b]$ for local ctx. new unit test to chk 2012-07-22 12:57:30 -07:00
Terence Parr 43424cd5df do check for a==b in merge(); improve DOT output 2012-07-22 12:10:40 -07:00
Terence Parr 93945d47f5 Merge branch 'master' into stack-graphs-integration 2012-07-21 16:27:36 -07:00
Terence Parr 9539572ee7 simplify test. 2012-07-21 16:27:00 -07:00
Terence Parr 7a4a269615 fix test so no error due to EOF. 2012-07-21 15:36:56 -07:00