Terence Parr
|
6314b7d31b
|
-> becomes # for alt labels
|
2012-04-26 11:59:57 -07:00 |
Terence Parr
|
9c1e58db7c
|
add {} in primary alt block to prevent ID|INT from becoming SET, which breaks code gen needs.
|
2012-03-27 16:21:01 -07:00 |
Terence Parr
|
9a0aaacbee
|
rm k=1 chk to report early ambiguity.
|
2012-03-16 14:11:21 -07:00 |
Terence Parr
|
102980dffd
|
make T.g same
|
2012-03-14 13:20:24 -07:00 |
Terence Parr
|
ae08867ff3
|
alter visitTerminal interface, add visitErrorNode.
|
2012-02-26 22:07:45 -08:00 |
Terence Parr
|
8a34176d82
|
added listener unit tests. fixed bug that didn't create ctx getters properly for recursive rules. added Symbol extends Token to parse tree stuff. added visitTerminal to Visitor. recursive alts now track their original, unedited AltAST subtree so we can properly count rule refs etc... later. dup of RuleRefAST was making wrong node. don't gen dispatch methods if no listener.
|
2012-02-22 12:44:33 -08:00 |
parrt
|
a923ad8765
|
Major update to v4. I backed out a change I made on Christmas then mistakenly prevented any lexer DFA creation. Per http://www.antlr.org/wiki/display/~admin/2011/12/29/Flaw+in+ANTLR+v3+LL%28*%29+analysis+algorithm I fixed a major flaw in ANTLR's notion of context. To do that, I needed to create a new LoopEndState, with all of its fanout to the serialization and parser ATN construction. got a very good start on ParserATNPathFinder, which uses basic recursion to find all possible paths and return a tree with the possibilities. I left it in the condition where he would sometimes loop forever; it needs to track sets of configurations in the busy set; it using states at the moment. added a new signal from the interpreter: reportAttemptingFullContext. I fixed a bug where configuration sets derived from a configuration that had reachesIntoOuterContext>0 were not being considered as dipping into the outer context. The ambiguity checker needed to switch so that a check for exact matches not suffixes when doing full context. It's faster at the very least for full context. added some more support routines to DFA. Added TraceTree in support of the new ParserATNPathFinder.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9764]
|
2011-12-29 17:04:40 -08:00 |
parrt
|
299c29d927
|
more lexer rule specialization in parser. got antlr almost back to working with new [Aa] notation in lexer.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9753]
|
2011-12-26 17:09:01 -08:00 |
parrt
|
d9efffd104
|
Add [abc] syntax to allow set of char in lexer; args aren't allowed so unambig.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9750]
|
2011-12-26 15:58:40 -08:00 |
parrt
|
6fa5e52d5e
|
added => skip, channel(99), more, mode(xx), push(xx), pop lexer syntax. separated lexer rules from others in parser / AST now.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9749]
|
2011-12-26 15:14:49 -08:00 |
parrt
|
bb48deb354
|
tweak to dotgenerator, make parserinterp using new atn sim
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9645]
|
2011-12-16 18:15:56 -08:00 |
parrt
|
ebd1fbb63d
|
within 2 or 3 unit test of where I was before I got it the ATN simulator
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9642]
|
2011-12-16 15:07:28 -08:00 |
parrt
|
3d133e9417
|
broke out fullctx tests, some fixes.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9636]
|
2011-12-16 09:43:29 -08:00 |
parrt
|
5ad1505fdb
|
almost got new ATN engine working; separated .* nongreedy tests, reorg args on reporting methods
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9627]
|
2011-12-15 11:03:41 -08:00 |
parrt
|
92279bd6db
|
almost got prediction working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9600]
|
2011-12-13 18:10:04 -08:00 |
parrt
|
131e9f7686
|
added comments, working on parser interpreter (not prediction) reorg. adding ParserInterpreter. adding unit tests.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9546]
|
2011-12-09 16:35:21 -08:00 |
parrt
|
63168c5577
|
added more dbg prints, turned on context sensitivity in test java lr.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9545]
|
2011-12-07 17:47:08 -08:00 |
parrt
|
cab803d5f3
|
tweak comment
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9528]
|
2011-12-05 09:44:40 -08:00 |
parrt
|
80fd90d363
|
rm'd epsilon transition in ATN after rule refs.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9518]
|
2011-12-03 14:52:24 -08:00 |
parrt
|
f08e8fc098
|
predTransition was not passing along predicate properly. rm'd unneeded parameter. pass null if ctx independent pred. added 2 unit tests for non outer ctx check.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9516]
|
2011-12-03 14:12:06 -08:00 |
parrt
|
ae74881de6
|
strip epsilons between alternative elements and also stripped the final epsilons before block ends. added an ATN visitor for general use. updated all of the unit tests so they pass new smaller ATNs. had to do some work in the serialization and deserialization to handle state numbers without state information. did not want to reorder state numbers during optimization.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9512]
|
2011-12-01 17:46:12 -08:00 |
parrt
|
a8219d943e
|
got java LR parser working :) allows e A B C e type LR alts now
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9506]
|
2011-11-30 18:57:45 -08:00 |
parrt
|
8d7a97fb68
|
fixing some pred bugs. fixed unit testSimple in pred eval. optimized sem ctx.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9503]
|
2011-11-30 17:44:49 -08:00 |
parrt
|
e00fa44996
|
Got validating and disambiguating predicates the way I want; widespread changes. DFAStates now have a list of predicate/alt pairs that they can test at except states. renamed Java.g4 to JavaLR.g4. LL(1) analysis did not fail when it's all predicates, which it must.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9482]
|
2011-11-29 15:46:51 -08:00 |
parrt
|
9a1a8428b5
|
got ambig pred thing working i think; unit tests. missing validating pred thing.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9480]
|
2011-11-28 19:16:45 -08:00 |
parrt
|
324884585b
|
add slider
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9306]
|
2011-11-13 11:35:11 -08:00 |
parrt
|
6c104b7724
|
pull apart treeviewer; rename ANTLRParserListener
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9148]
|
2011-10-20 19:12:32 -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
|
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
|
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
|
5c6f35abef
|
did some reorganization
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9038]
|
2011-09-03 11:52:23 -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
|
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
|
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
|
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
|
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
|
3b52eb4e6a
|
snapshot
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8899]
|
2011-07-22 17:19:26 -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
|
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 |