Commit Graph

403 Commits

Author SHA1 Message Date
parrt 6b4e9905fb rename member, tweak output. new chk for inf loop from error sync works
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9088]
2011-09-30 20:40:14 -08:00
parrt 60c9fe76c0 almost got new error mech in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9087]
2011-09-30 20:22:09 -08:00
parrt 9e69640bc1 added more unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9086]
2011-09-27 17:09:17 -08:00
parrt 82360bfaa8 clean up
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9085]
2011-09-27 16:23:15 -08:00
parrt c535d45f66 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9084]
2011-09-25 15:11:05 -08:00
parrt cd2c4e622d fix bug in code gen for * loops
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9082]
2011-09-25 14:43:37 -08:00
parrt e3d6db0478 more unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9081]
2011-09-25 14:10:30 -08:00
parrt f02db87c02 got nullable kids tree parsing working. got $rule.text in tree parsing working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9077]
2011-09-24 17:12:22 -08:00
parrt e8a2a738cf rename TreeNodeStream
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9075]
2011-09-24 09:33:04 -08:00
parrt 93581cfa98 got v3 tests working in v4
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9074]
2011-09-24 09:14:22 -08:00
parrt 149033fb2e add more tests from v3
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9073]
2011-09-24 08:41:15 -08:00
parrt 9c5f636bea labels work with tree parsers now.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9072]
2011-09-22 17:32:25 -08:00
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 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 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
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
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 01020ee1bb more cleanup
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9042]
2011-09-04 15:55:45 -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 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 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 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
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 9328c164af set type
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8913]
2011-07-27 16:45:02 -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 2136287966 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8911]
2011-07-27 15:55:30 -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 c6fa2fce6e decided to clean up a bit, backtracking from updating current to have inner/outer context. will try with full ctx again.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8908]
2011-07-25 16:49:33 -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 1fcc12a7ad changes to ATN simulator just before I try adding context back in.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8903]
2011-07-24 13:20:49 -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 ba9f5d54e7 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8900]
2011-07-22 18:18:43 -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 8a1a9d39cd fixed ast structure unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8854]
2011-07-12 10:37:24 -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