Commit Graph

721 Commits

Author SHA1 Message Date
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 a8195e5d7c playing
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9067]
2011-09-11 16:20:42 -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 0e608ab0a4 clean up unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9065]
2011-09-11 15:16:53 -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 f13fd1973e mv ruleIndex, add alt
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9061]
2011-09-09 13:00:58 -08:00
parrt 62937ca639 rename visit->walk
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9060]
2011-09-08 16:52:30 -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
Udo Borkowski b671cb1fba add treeTextProvider and various "visual" properties to TreeViewer
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9057]
2011-09-08 10:05:23 -08:00
parrt 0e7911f99c add
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9056]
2011-09-07 20:47:39 -08:00
parrt c16782c848 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9055]
2011-09-07 17:13:32 -08:00
parrt 297087770e scope listener name in output
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9054]
2011-09-07 17:01:59 -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 4f2beaf69d rename discover/finish
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9052]
2011-09-07 15:04:35 -08:00
Udo Borkowski a440d4e988 add TreeViewer
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9051]
2011-09-06 08:45:28 -08:00
parrt 1e595a486a add
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9050]
2011-09-06 06:31:44 -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 d3dc566a69 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9048]
2011-09-05 13:11:33 -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 afb767b99c should not be in depot
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9046]
2011-09-05 12:54:27 -08:00
parrt 0f74909c8c mv ruleIndex
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9045]
2011-09-05 12:49:54 -08:00
Udo Borkowski f93bc7aa7a add org.abego.treelayout
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9044]
2011-09-05 10:50:57 -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 01020ee1bb more cleanup
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9042]
2011-09-04 15:55:45 -08:00
parrt 5c35165873 update the comment
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9041]
2011-09-04 13:49:40 -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 5c6f35abef did some reorganization
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9038]
2011-09-03 11:52:23 -08:00
parrt c1aa0fcd10 New parse tree mechanism
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9037]
2011-09-03 09:18:26 -08:00
parrt 104f39acde working on parse trees
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9036]
2011-09-02 17:15:36 -08:00
parrt 7aad57fe49 add
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9035]
2011-09-02 16:18:25 -08:00
parrt 62549b65bf add dbg classes. add mark/rewind
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9034]
2011-09-02 16:17:37 -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 a9782118ac add
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8985]
2011-08-04 08:56:08 -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 328444244f backing out changes; tried 2 stacks; too complicated
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8969]
2011-07-31 10:38:48 -08:00
parrt d2651a50a6 backing out changes; tried 2 stacks; too complicated
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8968]
2011-07-31 10:38:23 -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 cf54eea3b3 set type
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8965]
2011-07-30 15:25:14 -08:00
parrt 64e12dbfa5 add method
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8961]
2011-07-30 11:49:49 -08:00
parrt 2ebedba421 debugging
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8933]
2011-07-29 15:45:31 -08:00
parrt 0168e0837a finished getting unit tests for action/pred exec during ATN simulation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8932]
2011-07-29 14:49:16 -08:00
parrt b90b073450 getting more unit tests in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8924]
2011-07-29 14:05:19 -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