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
3c7b4c2a33
big cleanup.
2012-07-26 17:28:10 -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
9539572ee7
simplify test.
2012-07-21 16:27:00 -07:00
Terence Parr
f220212a95
couldn't get Horstmann's routine to do EPS not PS so had to backtrack.
2012-07-14 16:32:04 -07:00
Terence Parr
5c69d31e88
CommonTokenFactory now knows how to copy the text out of the character stream buffer before they disappear in unbuffered character strengths; added ctor.
...
Lexer now guarantees that the text of the current token is always available to the emit() method even if the character stream is unbuffered.
Added some hooks to see some of the internal data in the unbuffered character stream so that I can test it better.
Updated LexerInterpreter so that it uses the token factory.
Improved/added unit tests for the unbuffered character string.
Updated various comments
2012-06-30 16:40:16 -07:00
Terence Parr
740208ee4d
test code.
2012-06-17 16:56:26 -07:00
Terence Parr
b255509e96
fix a bug related to semantic predicates in the lexer and generally cleaned up variable and method names in the simulator. I moved all of the predicates to the right side of lexer rules in the unit tests. Later, we should ensure that predicates only occur on the right edge of lexer rules. We should state that the rule is not been accepted so we can't test things like getText(), we have to use more raw indexes into the character stream. In the lexer simulator, the addDFAState() method now does not try to compute whether there is a predicate in the configurations. That information has already been set into the ATNConfigSet by the getEpsilonTarget() method. [I should also point out that I have not tested the Java parsing in a while and now it hits a landmine on a number of common Java files in jdk :(. I'm not sure where that crept in]
2012-06-07 17:31:18 -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
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
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
64b4cbd2c8
added auto highlight to tree views
...
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9262]
2011-11-05 08:56:12 -08:00
parrt
ffc4f9b126
added Cay Horstmann's printing code for postscript.
...
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9254]
2011-11-03 09:10:30 -08:00
parrt
ad468ee29b
added tree node highlighting in treeviewer
...
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9206]
2011-10-25 15:53:46 -08:00
parrt
542a57b49a
reworked udo's tree viewer
...
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9149]
2011-10-21 10:58:00 -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
3bbcfa5d25
change name of method
...
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9144]
2011-10-11 16:16:29 -08:00
parrt
a8195e5d7c
playing
...
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9067]
2011-09-11 16:20:42 -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
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
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
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
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
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
9da8639ba8
got AST construction ops working it seems.
...
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8797]
2011-06-29 10:42:23 -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