Terence Parr
2232ea5101
was not computing lookahead correctly in _LOOK. It assumed all epsilons were predicates.
2012-03-19 17:50:51 -07:00
Sam Harwell
bd7796544d
Update comments
2012-03-19 08:33:55 -05:00
Sam Harwell
5e0f9a4490
Ensure target non-null in Transition constructor (additional runtime-side consistency check).
2012-03-19 08:33:36 -05:00
Sam Harwell
4bc615d72f
Ensure that serialized transitions only point to states which weren't removed. Add unit test for a current failure case (will be a regression test once fixed).
2012-03-19 08:32:34 -05:00
Sam Harwell
a70cb6f36a
Fix NPE in LexerATNSimulator.execDFA error recovery
2012-03-19 08:17:59 -05:00
Sam Harwell
ea434982fb
Pull error reporting outside of try/finally to ensure errors are not hidden
2012-03-17 17:38:05 -05:00
Terence Parr
ea7037dd2d
missing semicolon
2012-03-16 14:29:07 -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
28ee391c81
Merge remote-tracking branch 'sharwell/loops-recursion-test'
2012-03-14 13:09:19 -07:00
Sam Harwell
0ec7f1528c
Clean up testLoopsSimulateTailRecursion, move to TestFullContextParsing.
2012-03-14 15:04:01 -05:00
Sam Harwell
ee0bc39b53
Add unit test for loopsSimulateTailRecursion
2012-03-14 14:08:22 -05:00
Terence Parr
6887c86d5e
shelve
2012-03-14 12:04:18 -07:00
Sam Harwell
ae871dcc07
Rename exec/exec to execDFA/execATN
2012-03-13 19:27:52 -05:00
Sam Harwell
aeb43069aa
Move reach variable inside loop. Remove unnecessary ATNConfigSet clone.
2012-03-13 19:25:39 -05:00
Sam Harwell
51a15ac4a7
ATNConfigSet prior to error is closure, not reach. Reach is empty.
2012-03-13 19:25:38 -05:00
Sam Harwell
83c680850e
Only create a new ATNConfigSet for reach when no DFA edge is available
2012-03-13 19:25:38 -05:00
Sam Harwell
9d774c6543
Separate handling of DFA and ATN transitions during lexer atn sim.
2012-03-13 19:25:37 -05:00
Sam Harwell
1f60da9cfd
Handle DFA error states in lexer atn exec
2012-03-13 19:25:37 -05:00
Sam Harwell
590558c4d8
Combine DFAExecState and ATNExecState so we no longer need to throw exceptions in LexerATNSimulator.failOrAccept for valid inputs
2012-03-13 19:25:31 -05:00
Terence Parr
aca3e0ddb2
make trim parse trees singular
2012-03-12 15:40:22 -07:00
Terence Parr
dc627158e6
loop invar. code motion
2012-03-12 14:19:19 -07:00
Terence Parr
2fc9760ba7
Merge remote-tracking branch 'sharwell/ambig-sempred'
2012-03-12 13:50:45 -07:00
Terence Parr
2d76dd8193
Merge commit 'bbff5bd'
2012-03-12 13:26:24 -07:00
Terence Parr
79f204ff94
Merge commit 'fa9ec19'
2012-03-12 13:22:55 -07:00
Terence Parr
754408da27
Merge commit '86671d3'
2012-03-12 13:19:35 -07:00
Terence Parr
fb03f1e276
Merge remote-tracking branch 'sharwell/ignore-hprof'
2012-03-12 13:17:21 -07:00
Sam Harwell
3f1f76df7d
Move reportAmbiguity, reportContextSensitivity, reportAttemptingFullContext, reportInsufficientPredicates from ANTLRErrorStrategy to ANTLRErrorListener.
...
Add BaseErrorListener to allow implementing ANTLRErrorListener without implementing every method (e.g. ConsoleErrorListener).
DiagnosticErrorStrategy is now DiagnosticErrorListener, updated tests.
2012-03-12 15:07:48 -05:00
Sam Harwell
768bfc0cf2
Add ProxyErrorListener to allow dispatching error reporting to multiple listeners without manually iterating over the list of listeners.
2012-03-12 15:07:48 -05:00
Sam Harwell
dce72dcbfb
* Recognizer._listeners initialized to have a single ConsoleErrorListener
...
* Use CopyOnWriteArrayList so listeners can be added/removed in callbacks
* Remove special handling for _listeners null or empty (never null, ConsoleErrorListener will be present if feature is desired)
2012-03-12 15:01:21 -05:00
Sam Harwell
bbff5bd20a
New tests related to if/if/else constructs
2012-03-12 07:26:39 -05:00
Sam Harwell
50180825d9
Add boolean field ParserATNSimulator.reportAmbiguities (default true). When false, ambiguous alts aren't reported which allows usage of (the faster) incomplete semantic predicate evaluation even within execATN.
2012-03-10 16:41:57 -06:00
Sam Harwell
04cd48e88d
No need to fully evaluate predicates when called from execDFA because ambiguous alts aren't reported anyway.
2012-03-10 16:32:10 -06:00
Sam Harwell
2cc39c2f9b
Evaluate predicates for all ambiguous alternatives and report if still ambiguous after predicate evaluation. Remove misleading message insufficient predicates. Fixes antlr/antlr4#31 . Partially addresses antlr/antlr4#39 .
2012-03-10 16:16:39 -06:00
Sam Harwell
86671d30fb
Tweak comments
2012-03-10 13:23:02 -06:00
Sam Harwell
7525bb6e1d
Semantic predicates now evaluate with standard min-alt selection
2012-03-08 13:53:45 -06:00
Sam Harwell
62c265fe54
Ignore heap dumps created during profiling (*.hprof)
2012-03-07 08:01:06 -06:00
Terence Parr
a9e74ce399
Merge branch 'failed-predicate-message' of git://github.com/sharwell/antlr4
2012-03-06 13:28:47 -08:00
Terence Parr
ce142a2a4c
Merge commit '51c38c1'
2012-03-06 13:27:46 -08:00
Sam Harwell
5280bc3280
Tweak doc comment
2012-03-06 07:34:20 -06:00
Sam Harwell
5deab167a1
ParseTreeVisitor.visit takes a ParseTree... only visitChildren takes a RuleNode
2012-03-04 12:52:43 -06:00
Sam Harwell
b570641e2b
Simplify ParseTree.visitChildren; ParseTree.visit and visitChildren take a RuleNode parameter; update comments
2012-03-04 12:17:43 -06:00
Sam Harwell
a948736729
TerminalNodeImpl.isErrorNode now tests for ErrorNode interface instead of ErrorNodeImpl implementation
2012-03-03 21:57:49 -06:00
Sam Harwell
80b3ec8c62
Dispatch accept() for terminal nodes to visitor
2012-03-03 21:57:08 -06:00
Terence Parr
0375f8318a
rename a parameter
2012-03-01 18:01:27 -08:00
Terence Parr
2ba5a1f12a
Made the parse tree visitor walk ParseTree objects not ParserRuleContext objects. This necessitated pulling up the accept() and toStringTree(Parser) methods into ParseTree.
2012-03-01 17:57:49 -08:00
Sam Harwell
fa9ec191bd
Add TrimToSizeListener and Parser.get/setTrimParseTrees
2012-02-29 11:22:54 -06:00
Sam Harwell
c3cd99858c
Reduce size of generated code by emitting predicate text instead of full failed predicate message
2012-02-29 08:14:42 -06:00
Sam Harwell
51c38c1103
Use single int _alt in generated code instead of a new _alt<choice.uniqueID> for each PlusBlock and StarBlock
2012-02-29 07:56:29 -06:00
Terence Parr
dd69a7532d
getToken/s returns TerminalNode now per Sam's suggestion. altered tests. seems correct.
2012-02-27 21:39:30 -08:00