Commit Graph

502 Commits

Author SHA1 Message Date
parrt b63b271815 got basic tree parser working.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9071]
2011-09-22 17:16:22 -08:00
parrt 0c1716d062 reorg to get tree parser gen'd
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9070]
2011-09-20 16:30:20 -08:00
parrt a126e2043a add file
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9069]
2011-09-20 16:22:25 -08:00
parrt 6c45753bea got basic tree parser ^(A B) stuff in.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9068]
2011-09-18 16:49:52 -08:00
parrt a1c682434d removes the individual stacks to track rule invocations. $a::x now looks up the context stack for rule index RULE_a. they're not done very often and so it's better to say all of the overhead pushing and popping the contexts.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9066]
2011-09-11 16:12:01 -08:00
parrt 64ccba4168 rebuilt the code generator so that I generate a separate class for each labeled alternative and modify the listener so that it's always enter and exit rule; the type of the argument that distinguishes between them. I now create the overall rule context and then copy it into the alternative context if they have a label.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9064]
2011-09-11 15:09:55 -08:00
parrt bf19465437 Got a rule labels added to the tree and also altered code generation so that it pays attention to the labels. fairly major surgery but it's a nice refactoring.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9062]
2011-09-09 17:08:13 -08:00
parrt 2d234ee28c Got the visitor thing cleaned up enough for a small example
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9059]
2011-09-08 13:45:05 -08:00
parrt da7e7c8813 clean up tree output, rename _ctx to context
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9058]
2011-09-08 12:12:51 -08:00
parrt c16782c848 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9055]
2011-09-07 17:13:32 -08:00
parrt c79848cca0 gen listener file; reorg file generation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9053]
2011-09-07 16:51:10 -08:00
parrt 730794128e parse tree visiting; now, we ALWAYS generate a return struct definition: rule_ctx.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9049]
2011-09-05 17:08:26 -08:00
parrt 99d5d64efb update ant build
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9047]
2011-09-05 13:05:58 -08:00
parrt 528d6df1e3 added list of rule consts; parser ctx tracks rule index
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9043]
2011-09-05 08:28:24 -08:00
parrt 32a375bbf7 I split the tree interface into multiple simpler ones and removed the methods that can modify a node. Either you should use the adapter or, you know the concrete type and then you can call those methods directly not through the interface. The whole point of the interface is to be flexible but then for consistency users must use the adapters. I'm also starting to pull helper methods into a Trees "module". I also renamed CommonTree to be CommonAST. I also renamed the adapters appropriately.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9040]
2011-09-04 12:02:07 -08:00
parrt 783f1bc38f Split token into read-only and writable portions. added release method. moved the methods around that get input streams and token streams between interfaces. simplify the character stream interface by moving the gas line and get characterization methods to the lexer.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9039]
2011-09-03 17:36:14 -08:00
parrt 085dd05bf1 got parser nongreedy loops going
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9032]
2011-08-12 19:51:12 -08:00
parrt f44c49a8b8 got lexer nongreedy loops going
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9018]
2011-08-07 11:19:34 -08:00
parrt d926ec9661 WOOT! all left-recursive tests pass
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8972]
2011-07-31 18:14:47 -08:00
parrt ec5d74c83e removed all traces of FORCED_ACTION
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8971]
2011-07-31 12:36:07 -08:00
parrt a7f2bc31ac ok, got new simple semantics in for sempreds; no forced actions and preds always eval unless ctx dependent, in which case they need to bein original rule.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8970]
2011-07-31 11:58:59 -08:00
parrt c713b3dd2d rm print
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8967]
2011-07-30 17:22:56 -08:00
parrt e32bae3276 rebuilt ATN structure for ()* and ()+; two decisions each now unless single alt.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8966]
2011-07-30 17:20:57 -08:00
parrt 4b5cd3a9ba We're forced to exec args, even if dependent on _localctx. If no actual context to use, create dummy context to use for arg eval only.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8922]
2011-07-29 11:45:27 -08:00
parrt dcfb804ed3 added method to get context for non-arg rules
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8921]
2011-07-28 19:36:56 -08:00
parrt cce6c70b2e fixed context in sempred. don't exec forced actions either if in outer context and dependent.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8920]
2011-07-28 15:15:41 -08:00
parrt 3d15daccad got predicate issue resolved. executes preds if not dependent on context and no dipping into outer context
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8919]
2011-07-28 12:43:28 -08:00
parrt 0cb91817d9 not tested but put locals into attr lookup for rule and code gen chunks + java.stg
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8917]
2011-07-28 10:29:12 -08:00
parrt 10d7a79324 reorg; cleanup. added ast.g ptr setting to nodes created during left-recursion elim.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8915]
2011-07-27 17:03:54 -08:00
parrt e084c12483 rm gated sem pred and other weird variants
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8914]
2011-07-27 16:50:13 -08:00
parrt 2db09cdeb9 rm scopes for rules/grammar, added locals [int i, int j] for rules. i do not generate anything for the LOCALS tree at moment
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8912]
2011-07-27 16:43:16 -08:00
parrt 078e2ab47c java.g working again.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8910]
2011-07-26 10:56:24 -08:00
parrt fd3f8b17c9 ~sets weren't working; got closer to java.g working again.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8909]
2011-07-25 18:09:00 -08:00
parrt 76ca9ba0d5 a bit of clean up
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8907]
2011-07-24 16:24:18 -08:00
parrt a29feac1bf a bit of clean up
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8906]
2011-07-24 16:18:21 -08:00
parrt b4b02bb813 cleaned up atn construction / set detection / unit tests. still not done full context in parser simulation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8904]
2011-07-24 15:25:17 -08:00
parrt 66da1f723a got unit tests working again for interp; got args funcs in output
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8902]
2011-07-24 11:48:43 -08:00
parrt d51784a250 got lexer actions working again
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8901]
2011-07-23 12:58:09 -08:00
parrt 3b52eb4e6a snapshot
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8899]
2011-07-22 17:19:26 -08:00
parrt 40f9e867cd 23 import grammar unit tests pass
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8896]
2011-07-20 18:55:23 -08:00
parrt 36f3590f6c got rule props in for current rule; fixed yet another freakin bug in implicit lexer extraction.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8895]
2011-07-19 19:18:16 -08:00
parrt 6dab71e160 symbol issue test working again
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8894]
2011-07-19 16:44:35 -08:00
parrt 66933e36a2 got token aliases checks done
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8893]
2011-07-19 11:54:37 -08:00
parrt c6904bb21b imports get merged into root grammar now.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8872]
2011-07-18 13:31:24 -08:00
parrt 7a109d29d5 added a LexerInterpreter and copied in unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8867]
2011-07-16 12:57:25 -08:00
parrt 9fb93fd090 fixed wildcard; ast ops all work now per tests :)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8866]
2011-07-16 12:24:43 -08:00
parrt 8de1408365 rm bad error
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8865]
2011-07-16 12:01:44 -08:00
parrt 65396e6d7c don't reduce SETs if elements ref'd in -> rewrite
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8864]
2011-07-16 11:49:14 -08:00
parrt 43f4ef59f7 track tokens in SETs
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8863]
2011-07-15 16:10:47 -08:00
parrt f81d629780 new visitor does away with CollectSymbols.g
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8862]
2011-07-15 15:51:25 -08:00
parrt b9ef4f9bee woot! new visitor does away with BasicSemanticTriggers.g and Refs.g
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8861]
2011-07-14 19:25:08 -08:00
parrt f36b1ad875 started refactoring to collapse tree walker grammars into visitors
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8856]
2011-07-14 11:33:25 -08:00
parrt 42f6b7cf86 after much bullshit, got sets working for ast stuff.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8855]
2011-07-13 17:29:20 -08:00
parrt 39fe27dd1f fixed outer most vs inner alt issue
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8853]
2011-07-12 10:21:34 -08:00
parrt 59178d9959 got most of AST op unit tests working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8852]
2011-07-11 18:35:52 -08:00
parrt dbceac768d all rewrites working minus error checking ones
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8851]
2011-07-10 17:56:11 -08:00
parrt 1dc598c26e got lots more rewrite ast done including predicates
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8850]
2011-07-10 17:07:07 -08:00
parrt a06679fec7 cleaned up
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8849]
2011-07-09 17:00:15 -08:00
parrt a20912ba73 got rid of ...IsRoot templates and model elements!
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8848]
2011-07-09 16:27:01 -08:00
parrt a3da5c5f53 reorg to focus context fields in controller not factory and grammar.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8847]
2011-07-09 15:45:34 -08:00
parrt 557e3a8389 got 61/81 rewrite ast tests working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8846]
2011-07-08 17:50:25 -08:00
parrt 671a7f9038 got lots of ast rewrites working; off to do labels
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8845]
2011-07-07 12:52:05 -08:00
parrt aad0a37525 got some rewrite AST tests to work; got ID[...]
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8841]
2011-07-06 16:35:20 -08:00
parrt f8abf5d40b A B+ -> ^(A B)* works! fixed ant build
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8838]
2011-07-06 13:42:35 -08:00
parrt df80cb7622 good start on * and ? in rewrites
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8826]
2011-07-04 17:47:44 -08:00
parrt fbc92258f6 got nested trees working:
a : A b C -> ^(A ^(b C))
| B
;

[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8825]
2011-07-03 14:40:04 -08:00
parrt d33b3a4a62 got A b C -> ^(A b C) working :)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8824]
2011-07-03 12:18:47 -08:00
parrt 3cfbe39b4f got _root0 defined; each SrcOp knows its block now; setting current block
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8823]
2011-07-03 11:23:02 -08:00
parrt 411e1bb210 rewrite is now block of code; can have nested
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8822]
2011-07-02 17:27:54 -08:00
parrt 07161bffe7 major reorg to get rewrites in there
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8821]
2011-07-02 16:04:56 -08:00
parrt ab8d07d82f got started on rewrite stuff
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8817]
2011-07-01 14:01:53 -08:00
parrt 8ea7bd16d2 moved some AST code out of generic parser factory
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8813]
2011-06-30 12:35:22 -08:00
parrt b9daa3763c using old ast op code from v3. works fine.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8812]
2011-06-30 12:11:32 -08:00
parrt a421082008 update copyright
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8808]
2011-06-30 09:14:05 -08:00
parrt 1775feffdb update copyright
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8798]
2011-06-29 11:22:17 -08:00
parrt 68cef48483 cleaned up; mv'd stuff to parser. reorg to have lexer in controller
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8794]
2011-06-28 17:51:39 -08:00
parrt 2d5c4fd686 got core ^ and ! ops in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8791]
2011-06-28 16:15:31 -08:00
parrt 15fbaccb6d reorg to get walking of rules out of default factory into controller
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8790]
2011-06-28 15:18:39 -08:00
parrt 1510686b02 runtime no longer depends on tool module
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8787]
2011-06-28 11:51:21 -08:00
parrt 87c727e91f change rule to ruleIndex in Rule; tests pass
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8786]
2011-06-28 11:37:45 -08:00
parrt 9bc02bfd33 no tool depends now in ATN, moved some maps to arrays :)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8779]
2011-06-27 18:46:21 -08:00
parrt 4d04b21999 removed Rule depend from ATN
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8778]
2011-06-27 17:53:11 -08:00
parrt ad98d17191 snapshot; removed some dependencies to tool in runtime; made sure java grammar / parser still works
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8777]
2011-06-27 17:38:15 -08:00
parrt de0881a88b tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8776]
2011-06-27 16:20:03 -08:00
parrt 7e45a0c01d tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8775]
2011-06-27 16:06:46 -08:00
parrt 05d7670985 woof. separated out interfaces etc... now codegen extensions work
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8768]
2011-06-27 13:38:50 -08:00
parrt 55ce044acf reorg to get extensions
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8767]
2011-06-27 11:33:40 -08:00
parrt 506f8eec09 started reorg to have codegen extensions for customizing and doing stuff like output=AST
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8766]
2011-06-26 18:04:57 -08:00
parrt 46f68c8d63 moved decls into package. messed around with AddLeaf. must distinguish between implicit and regular labels. implicit are locals, manual labels go into ctx.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8765]
2011-06-26 13:20:02 -08:00
parrt 046b469f8e got all locals into return struct. all vars are visible to invoked rules via $rule::attr now.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8757]
2011-06-23 17:29:51 -08:00
parrt 7f56ba47c3 separated setattr for lexers
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8740]
2011-06-22 17:12:13 -08:00
parrt 5f95cde48d cleaned up action splitting
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8737]
2011-06-22 16:40:42 -08:00
parrt c607e66f1a added demo target X.stg
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8729]
2011-06-22 15:03:47 -08:00
parrt 981aff4132 kill
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8694]
2011-06-21 12:03:24 -08:00
parrt 315944694f mv file
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8688]
2011-06-20 17:54:54 -08:00
parrt a2ed93e997 messing w/build
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8687]
2011-06-20 17:52:01 -08:00
parrt a7bed42c35 setting up ant build
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8684]
2011-06-20 17:34:57 -08:00
parrt 1d6ce54816 tweak token consts.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8668]
2011-06-18 15:08:43 -08:00
parrt da633613a7 all rule indexes are 0-based now; 0..n-1 not 1..n
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8667]
2011-06-18 15:06:49 -08:00
parrt 1530234c29 moved from ST group file of en.stg messages to inline in ErrorType; no one made a non-English version in 4 years so...
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8666]
2011-06-18 14:02:16 -08:00
parrt a3b985fadf added @ModelElement annotation. model walker now descends into these in order to fill template args.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8665]
2011-06-18 12:55:39 -08:00
parrt bd5df8ed53 ok, working on java again...same functionality as antlr-rewrite dir. ready to move forward
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8664]
2011-06-18 11:10:03 -08:00
parrt bb02ed151e adding new files
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8661]
2011-06-17 16:44:51 -08:00
parrt 1a43396d3b adding new files
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8660]
2011-06-17 16:07:39 -08:00
parrt 061fff09f9 adding new files
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8659]
2011-06-17 16:05:00 -08:00
parrt 2ddeb7c769 adding new files
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8658]
2011-06-17 15:42:21 -08:00
parrt a13068c7c2 [git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8640] 2011-06-15 18:36:21 -08:00
parrt 36fb229434 Rename/move file(s) from old antlr4 to antlr-rewrite; that's not antlr4 anymore
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 7912]
2011-03-26 11:33:02 -08:00
parrt 360bd17f21 not sure
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 7819]
2011-03-07 10:06:29 -08:00
parrt 0eccd0f3a7 not sure what i was doing; stopping dev
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 7710]
2011-02-17 10:16:58 -08:00
parrt 03b147f129 make it compile
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 7066]
2010-11-20 17:23:38 -08:00
parrt 6414fa00c6 crap; was messing with lexers but anyway just added depth back to closure
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6915]
2010-07-07 13:38:13 -08:00
parrt 0e4fbf903d put preds in DFA not just in print out
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6913]
2010-06-16 12:20:14 -08:00
parrt 4b71c478c1 huge update; preds in lexers
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6911]
2010-06-15 14:06:56 -08:00
parrt 024f03b8d7 got started on DFA to transition table generation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6910]
2010-06-10 17:33:01 -08:00
parrt c18898a917 PDA for lexers are too slow; working DFA back in. DFA construction was nondeterministic due to sets not ordered sets.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6909]
2010-06-10 15:24:09 -08:00
parrt a017bb8feb NOT eval was messed up; handles java lexer now (slowly)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6905]
2010-06-08 16:34:07 -08:00
parrt 98bddc4446 got unicode and escape sequences into literals for bytecodes
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6904]
2010-06-08 11:49:31 -08:00
parrt b9a5cf8691 range16 was hosed; got java lexer working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6903]
2010-06-05 16:15:20 -08:00
parrt de380d2fd1 got DFA interp working from parser grammar + unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6902]
2010-05-28 12:17:17 -08:00
parrt 231758b0de tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6901]
2010-05-27 16:05:09 -08:00
parrt 19aecd3163 added NOT/SET ops, refactored PDA generation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6900]
2010-05-27 16:01:55 -08:00
parrt acf962bc28 initial DFA -> PDA compilation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6899]
2010-05-26 17:34:28 -08:00
parrt b1c3e8d0d7 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6898]
2010-05-26 13:26:46 -08:00
parrt c9ae2330e0 wildcard alts make surrounding block nongreedy
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6897]
2010-05-26 13:25:39 -08:00
parrt b4fb29b30d refactored to inline ctors
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6895]
2010-05-26 12:37:39 -08:00
parrt ca8ea6feea hacking with Oliver Z. Lots of fixes to code gen and sync/error handling/mode stuff.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6894]
2010-05-25 15:54:31 -08:00
parrt 38ef035c06 fixed actions in lexer
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6893]
2010-05-25 10:12:38 -08:00
parrt f32056f978 oops; adaptor created wrong dup nodes
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6892]
2010-05-24 15:48:55 -08:00
parrt 259ec8f693 clean up
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6889]
2010-05-23 16:56:33 -08:00
parrt 8ee1042f03 added start rule; fixed error recovery set stuff
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6887]
2010-05-23 16:41:44 -08:00
parrt 865437647d rule invoke follow was off
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6886]
2010-05-23 10:12:55 -08:00
parrt f69f3f2c09 refactored
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6885]
2010-05-23 09:05:05 -08:00
parrt e1577a8071 reworked look comp for loops
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6884]
2010-05-22 13:16:21 -08:00
parrt eaaa98bde9 got sync in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6883]
2010-05-22 12:23:36 -08:00
parrt 03d9f0ba32 Got rid of the fields listed in the output model object hierarchy; created the exception throwing templates
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6882]
2010-05-22 10:27:11 -08:00
parrt 33c8efe7e5 finished dyn scope trans. unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6880]
2010-05-21 13:45:12 -08:00
parrt be72c49e53 got dyn scope code gen partially going
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6879]
2010-05-20 15:28:34 -08:00
parrt 89b05e0954 got start on action trans testing
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6878]
2010-05-20 13:00:09 -08:00
parrt 05ef22d9e7 got basic attr action stuff in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6877]
2010-05-20 11:46:22 -08:00
parrt 1b0186329c snapshot
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6876]
2010-05-19 16:42:08 -08:00
parrt 3324f181f4 good start on action translation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6875]
2010-05-18 17:01:48 -08:00
parrt b315dd4ae4 reorg snapshot; separate LexerSharedState; pass ctx as arg to funcctions
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6874]
2010-05-18 14:10:31 -08:00
parrt e1ccf08680 Implemented token vocab option
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6873]
2010-05-17 15:10:53 -08:00
parrt 118d225066 got actions into lexer; reorg'd
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6872]
2010-05-17 13:28:04 -08:00
parrt f5cc4efc1b got basic lexers generated
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6871]
2010-05-16 15:00:56 -08:00
parrt 563de77ec4 move exceptions over from v3 runtime. add bitset defs..
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6869]
2010-05-16 12:14:05 -08:00
parrt 5a1607e884 merged args/retvals into one object
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6867]
2010-05-14 14:22:04 -08:00
parrt 161dd26006 got rule scope going
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6866]
2010-05-13 18:10:13 -08:00
parrt 82b93e717d got lookahead _la decl done
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6864]
2010-05-13 11:59:04 -08:00
parrt d1b8c3229d reorg
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6863]
2010-05-12 16:50:23 -08:00
parrt adc231ddae reorg
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6862]
2010-05-12 14:52:47 -08:00
parrt 01002decf7 reorg
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6860]
2010-05-10 16:02:52 -08:00
parrt 4cd721efa9 add method
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6859]
2010-05-10 16:01:24 -08:00
parrt e218632b67 got LL(1) plus loops in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6858]
2010-05-10 15:50:48 -08:00
parrt 930b1e1236 got LL(1) star loops in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6857]
2010-05-10 13:26:54 -08:00
parrt 2384c42698 tweaked LA(1) var
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6854]
2010-05-10 10:59:30 -08:00
parrt 883a00a4b0 got simple LL1 (..) and (..)? in; added Decl concept
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6851]
2010-05-09 16:15:08 -08:00
parrt 3e1f43117e template names = class names; reorg'd char stuff; got bitsets defined.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6850]
2010-05-09 12:11:50 -08:00
parrt cab4d7d197 added comments
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6849]
2010-05-08 15:36:31 -08:00
parrt d822cb8b23 removed alt as unnecessary arg to LOOK in linear approximator; added FOLLOW computation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6848]
2010-05-08 15:35:03 -08:00
parrt 3b7b45787a forget lexers
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6847]
2010-05-08 15:00:55 -08:00
parrt 8fa7179c6d track AST nodes -> NFA now and add more code gen
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6846]
2010-05-08 14:58:22 -08:00
parrt 5baff5d37e snapshot
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6845]
2010-05-07 13:12:28 -08:00
parrt 07625981fb got good start on code generator
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6844]
2010-05-06 17:54:58 -08:00
parrt fbaeb50e5e track finally action separately now
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6843]
2010-05-06 11:55:49 -08:00
parrt 9913972caa adding initial src code generation output model objects
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6842]
2010-05-05 15:52:29 -08:00
parrt c310c3b3a1 optimization: don't add intermediate closure addrs to closure; did same for parser DFA construction as i did for NFA VM.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6841]
2010-05-05 12:22:21 -08:00
parrt 27d9f25ec2 simplified label computation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6839]
2010-05-04 12:04:49 -08:00
parrt b0ca11f46b got sempreds in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6838]
2010-05-04 11:17:29 -08:00
parrt e6d65be27b rewinds now and does with feeling for actions in rules
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6837]
2010-05-03 17:02:47 -08:00
parrt cf7a730b31 reworked how i assign label indexes
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6836]
2010-05-03 16:14:20 -08:00
parrt 689687f0ed reorg so instrs in separate package. added label/save; added code gen at least for actions/sempred.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6834]
2010-05-02 17:11:30 -08:00
parrt f3e6d4644d got INT calls DIGIT working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6830]
2010-05-01 12:46:47 -08:00
parrt 9dbc6a43fd added exec version that handles stack and new ThreadState / context. unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6829]
2010-05-01 11:38:18 -08:00
parrt 541350bbe3 handles nongreedy + and * loops. rewinds properly to last good accept if we kept going and failed.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6828]
2010-04-30 17:37:07 -08:00
parrt 6b55114dd0 got it to kill all addrs within a rule once we hit its accept state; needed for nongreedy loops.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6827]
2010-04-30 16:54:38 -08:00
parrt 7cf42fe4dd reorg a bit
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6825]
2010-04-30 13:54:10 -08:00
parrt a576c16905 got thompson's working it seems
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6823]
2010-04-29 17:33:29 -08:00
parrt 0516292911 got basic NFA code gen and interp working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6822]
2010-04-29 11:37:11 -08:00
parrt 3015778202 added in NFA VM prototype
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6820]
2010-04-22 13:07:16 -08:00
parrt 41c0225adf fix how decision numbers set in lexer nfas
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6819]
2010-04-20 16:13:38 -08:00
parrt 55899d032c got modes sort of working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6818]
2010-04-20 15:29:43 -08:00
parrt 91f92d9b6c added test for modes in non lexers
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6817]
2010-04-19 15:30:01 -08:00
parrt 849060e55a added "mode ID;" to the grammar.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6816]
2010-04-19 15:18:13 -08:00
parrt 529933b0ba reworked ErrorManager to be instance, tool makes one. errors go to tool.errMgr and back to tool for emitting out listener list. fixed unit tests to go with it.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6814]
2010-04-12 12:00:22 -08:00
parrt c29f0e1d7c figured out unit test issues; sem pipeline bailed out too early and also setting errorlistener didn't reset error count
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6813]
2010-04-11 11:26:32 -08:00
parrt 2faaf7bc7f added cached hashcode check to equals
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6812]
2010-04-11 10:55:47 -08:00
parrt 2646c177b1 comment out template tests,
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6811]
2010-04-11 10:55:26 -08:00
parrt c2fd73647a added empty/non-empty test into nfa context ambig check; was missing. added comments
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6810]
2010-04-11 10:47:08 -08:00
parrt 37b7f46d40 more tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6809]
2010-04-10 17:40:36 -08:00
parrt f6eaa737a4 more tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6808]
2010-04-10 16:50:12 -08:00
parrt 47a3f66fea added more DFA unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6807]
2010-04-10 16:19:10 -08:00
parrt dcadda638e got some unit tests in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6787]
2010-04-04 15:45:24 -08:00
parrt c2f24b5f8a sorted DFA output, added approx tests, got unit tests working again; notSet messed up. impl set transitions.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6786]
2010-04-02 13:32:47 -08:00
parrt ddc285a6c1 update comment
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6784]
2010-03-31 17:13:25 -08:00
parrt 856c532174 update comment
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6783]
2010-03-31 17:07:49 -08:00
parrt 067b6b60f6 don't pass configs down through closures
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6782]
2010-03-31 17:06:35 -08:00
parrt a6f0d43a36 Reorganized to pass a proposed NFA configuration to closure instead of all those parameters.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6781]
2010-03-31 15:49:19 -08:00
parrt e9fd3d8b8c got new alg working :) added recursed bit to context.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6780]
2010-03-27 12:24:58 -08:00
parrt 2a9fb1bba6 clean up
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6779]
2010-03-27 11:00:16 -08:00
parrt 63342b1b1e snapshot
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6778]
2010-03-27 10:59:24 -08:00
parrt 09974258fb move out of way but keep
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6777]
2010-03-27 10:54:05 -08:00
parrt 2f5eb69cdd handles recursive lexer rules now
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6776]
2010-03-26 16:12:01 -08:00
parrt 5d57017098 added context and started using NFAConfig for lexer DFA
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6775]
2010-03-26 15:48:04 -08:00
parrt cb7445cf36 got basic lexer DFAs in (I think i need to use NFAConfigs though)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6774]
2010-03-26 15:29:47 -08:00
parrt f7445e961b tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6773]
2010-03-25 16:52:08 -08:00
parrt e52880931f rm some output
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6772]
2010-03-25 16:25:19 -08:00
parrt d24af6fd8a rm misleading comment
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6771]
2010-03-25 16:19:44 -08:00
parrt d94c4744ec added lin approx lookahead
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6770]
2010-03-25 16:19:19 -08:00
parrt 8650c29627 reorged a bit; improved msg about recur ovf.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6768]
2010-03-23 12:07:29 -08:00
parrt a87f6e7666 got more messages for recursion in there.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6767]
2010-03-22 17:29:49 -08:00
parrt ad036f9ab1 wasn't killing all states
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6766]
2010-03-22 17:15:42 -08:00
parrt f871e2dbf7 only gen if >0
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6764]
2010-03-22 14:41:27 -08:00
parrt 2e85e0d3a7 got left recur msg in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6763]
2010-03-22 12:35:33 -08:00
parrt 3e81cbc786 got hidden pred message working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6762]
2010-03-22 12:24:13 -08:00
parrt c175549e43 got insuff pred warning in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6761]
2010-03-20 16:21:37 -08:00
parrt 2aa34fc41e got line num etc... into ambig, unreachable warnings
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6760]
2010-03-19 17:00:06 -08:00
parrt d72dbb7af4 wow. added dfa minimization
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6755]
2010-03-16 17:16:07 -08:00
parrt c967b39f44 after experimenting with m, r
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6754]
2010-03-15 15:23:39 -08:00
parrt e70287954a got sample input sequence and grammar mapping working for ambig paths
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6753]
2010-03-15 11:55:56 -08:00
parrt 773832bd4b fixed up ambig/dangling stuff
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6752]
2010-03-13 17:25:42 -08:00
parrt f242c09d46 made DOTGen nonrecursive; add DFA verification stuff
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6749]
2010-03-13 13:04:18 -08:00
parrt bf9c0dd5a2 got sem pred analysis in for stack limited NFA conversion
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6748]
2010-03-11 17:44:12 -08:00
parrt 18a69d4550 got full analysis in minus sem preds
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6747]
2010-03-09 15:46:56 -08:00
parrt d7cf809489 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6746]
2010-03-09 11:41:28 -08:00
parrt 42a1489a48 got draft of DFA conversion working; gen's DOT files for DFAs. Works for recursive prediction example
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6743]
2010-03-08 18:22:21 -08:00
parrt 665b64fee0 have pieces of DFA conversion working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6742]
2010-03-07 16:16:10 -08:00
parrt 6ad8ff2a46 moved lots of crap from v3 for DFA display
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6741]
2010-03-07 14:18:03 -08:00
parrt 61fbb6571d fixed left-recur check, adding dfa stuff
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6740]
2010-03-07 12:12:08 -08:00
parrt 309cb6d623 add missing
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6739]
2010-03-07 11:21:56 -08:00
parrt 4125ed8fb4 got left-recursion core in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6738]
2010-03-06 17:50:19 -08:00
parrt 572aeb0071 got more NFA constr. tests in; added range
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6737]
2010-03-06 14:39:54 -08:00
parrt 6832a3c89c added +, rule ref, etc...
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6736]
2010-03-04 18:31:07 -08:00
parrt d7bda19fd1 more work on NFA
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6735]
2010-03-04 15:56:47 -08:00
parrt bf08801022 got more NFA created
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6732]
2010-02-26 19:13:08 -08:00
parrt 29175a418c working on NFA factory
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6730]
2010-02-25 19:00:33 -08:00
parrt 0795563bab separate lexer/parser nfa factory
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6729]
2010-02-25 17:51:33 -08:00
parrt 33a8d69814 adding nfa building infrastructur
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6728]
2010-02-25 12:22:21 -08:00
parrt d5801b91d7 add fields and NFA/DFA
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6727]
2010-02-24 13:41:22 -08:00
parrt 6571ca437a add specialized NFA states
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6726]
2010-02-24 13:11:30 -08:00
parrt cbb8a6917a reorg, de-emphasis label fields
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6725]
2010-02-24 11:51:32 -08:00
parrt 80ea7cf0db reorg
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6724]
2010-02-24 11:10:13 -08:00
parrt d2b5f95016 adding state stuff
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6723]
2010-02-24 11:04:24 -08:00
parrt 66ec9fa9fd added comments and we are now ready to build NFA, hooray!
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6722]
2010-02-23 12:09:08 -08:00
parrt 4fb0e7db70 stop processing if syn err.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6721]
2010-02-23 11:53:59 -08:00
parrt 3872f92017 fix unit tests; all pass
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6720]
2010-02-23 11:36:12 -08:00
parrt 2e6aee85af fixed unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6719]
2010-02-23 11:29:52 -08:00
parrt 49d7d03238 fixed up import symbols and tokens{} section in imports
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6718]
2010-02-23 11:20:37 -08:00
parrt 0e38fd9c47 detect missing ';' on rule
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6709]
2010-02-20 17:28:43 -08:00