Commit Graph

1066 Commits

Author SHA1 Message Date
Sam Harwell f015942b5e * Simplify creation of new DFA edges - only create the target state and let DFA code check for termination conditions
* Fix handling of previously cached error edges (always need to check previous state for reaching a rule stop state)
* Fix DFA created during SLL-only parsing (should be identical to the DFA created by full LL parsing)
2013-04-24 12:29:43 -05:00
Sam Harwell 297754fff5 Updated documentation for addDFAEdge and addDFAState 2013-04-24 12:18:18 -05:00
Sam Harwell 1a07a6b6fa Improved encapsulation in ParserATNSimulator 2013-04-24 12:18:17 -05:00
Sam Harwell ef8b10ebc4 Cleanup and encapsulation in LexerATNSimulator 2013-04-24 12:18:13 -05:00
Sam Harwell 25676332fb Remove unused and undocumented method DFA.getATNStatesAlongPath 2013-04-24 10:32:51 -05:00
Sam Harwell 88e836c4d9 Remove unused class ParserATNPathFinder 2013-04-24 10:30:58 -05:00
Sam Harwell 845bf53a51 Use HashMap instead of LinkedHashMap for DFA.states 2013-04-22 16:42:48 -05:00
Sam Harwell 7ebcc41b7b Cache the ATNConfigSet hash code after it's made read only 2013-04-22 16:13:22 -05:00
Sam Harwell a55a94c26e Use a better hash code for DFAState 2013-04-22 16:13:13 -05:00
Sam Harwell 6c8a6178ee Avoid constructing the mergeCache when it's not needed 2013-04-22 16:12:20 -05:00
Sam Harwell ecf2258380 Revert "add counter for stack graph nodes."
This reverts commit 43e73c8da9.
2013-04-21 13:11:40 -05:00
Terence Parr c81a839897 Merge branch 'master' of github.com:antlr/antlr4 2013-04-20 10:14:10 -07:00
Terence Parr 43e73c8da9 add counter for stack graph nodes. 2013-04-20 10:13:02 -07:00
Sam Harwell a4d174f44b Remove statistics that lost their meaning 2013-04-18 15:52:40 -05:00
Sam Harwell aaea26ee3a Remove execDFA - it doesn't do anything execATN doesn't do 2013-04-18 15:52:37 -05:00
Sam Harwell 9206a263b7 Add error edges to DFA 2013-04-18 15:52:34 -05:00
Sam Harwell 64354e5740 Add computed state to DFA before moving to full context simulation 2013-04-18 15:52:31 -05:00
Sam Harwell 2393cfd40e Remove unnecessary locals 2013-04-18 15:52:28 -05:00
Sam Harwell 5727128722 Allow ATN fallback in parser to continue to use DFA edges when available 2013-04-18 15:52:26 -05:00
Sam Harwell a90529720e Don't try to optimize read-only configuration sets 2013-04-18 15:52:23 -05:00
Sam Harwell 2410b97aab addDFAEdge needs to return the true target state of the added edge 2013-04-18 15:52:20 -05:00
Sam Harwell 74f4938033 Remove unnecessary duplicate conditions 2013-04-18 15:52:17 -05:00
Sam Harwell 3defe6a2b1 Remove comments with incorrect concurrency requirements 2013-04-18 15:52:14 -05:00
Sam Harwell bc9fd41ae5 Remove unnecessary local 2013-04-18 15:52:11 -05:00
Sam Harwell db85cbc257 Fix EOF handling when closure operation was skipped (fixes #218) 2013-04-12 14:02:24 -05:00
Sam Harwell 5c2b764670 Finer locks in DFA updates 2013-04-12 13:19:40 -05:00
Sam Harwell 8b3062175d Fewer and finer locks on ATNSimulator.sharedContextCache 2013-04-12 13:19:04 -05:00
Sam Harwell 05f667d2e5 Initialize the elements of the decisionToDFA arrays when the array is created 2013-04-12 13:17:53 -05:00
Sam Harwell 2242948c03 Merge branch 'fix-76' 2013-03-27 15:02:17 -05:00
Sam Harwell f75878b3e6 Merge branch 'fix-196' 2013-03-27 15:01:45 -05:00
Sam Harwell c592e41637 Split serialized ATN in Java target to ensure string literals are under 65535 bytes limit (fixes #76) 2013-03-27 11:04:28 -05:00
Sam Harwell 15a23c3cd9 Configs "in context" have special meaning for predicate transitions, so don't add them to closure busy as a visited state or some configs could be improperly eliminated from the closure set (fixes #196) 2013-03-26 23:11:20 -05:00
Sam Harwell 0bdf5aa4d1 Remove unused Parser utility method toStrings left over from output=template 2013-03-26 18:53:12 -05:00
Sam Harwell dd9ba73b6f Improved documentation and use of the Parser._tracer field; made the field private instead of protected 2013-03-26 18:53:09 -05:00
Sam Harwell 18bb9dc9be Updated documentation of getBuildParseTree and setBuildParseTree 2013-03-26 18:53:06 -05:00
Sam Harwell a60df9d28e Updated documentation of Parser's parse listener related methods; event trigger methods are protected instead of public 2013-03-26 18:53:03 -05:00
Sam Harwell 3acc78cf87 Use full name "listener" for variables instead of just "l" 2013-03-26 18:53:00 -05:00
Sam Harwell a087ed17ee Updated Parser documentation 2013-03-26 18:52:57 -05:00
Sam Harwell f12de7dfa7 Remove unused (commented out) code 2013-03-26 18:52:54 -05:00
Sam Harwell 1d3910a78b Updated documentation of Parser fields 2013-03-26 18:52:51 -05:00
Sam Harwell cb6207e707 Updated documentation of Parser.match and Parser.matchWildcard 2013-03-26 18:52:49 -05:00
Sam Harwell c577f5abfe Updated documentation in RecognitionException 2013-03-26 18:52:46 -05:00
Sam Harwell 6adf9bc95d Remove unnecessary null check 2013-03-26 18:42:21 -05:00
Sam Harwell a7e021da4c Updated ANTLRErrorStrategy and DefaultErrorStrategy documentation 2013-03-26 18:42:18 -05:00
Sam Harwell 1213aaad0b Call inErrorRecoveryMode instead of accessing the errorRecoveryMode field directly 2013-03-26 18:42:16 -05:00
Sam Harwell 185172caac Improved encapsulation of DefaultErrorStrategy internal implementation details (protected methods instead of public) 2013-03-26 18:42:13 -05:00
Sam Harwell 56e49fdc38 ANTLRErrorStrategy.sync and recover can throw a RecognitionException, but not reportError 2013-03-26 18:41:48 -05:00
Sam Harwell 70452f7e4b ANTLRErrorStrategy.beginErrorCondition and endErrorCondition were implementation details. Replaced them with the API-relevant alternatives reset and reportMatch 2013-03-26 18:41:45 -05:00
Sam Harwell 6c4f4181d9 Simplify the ANTLRErrorStrategy interface by reusing the token factory from the parser instead of having the error strategy maintain its own separately 2013-03-26 18:41:42 -05:00
Sam Harwell 07689de50f Updated @NotNull and @Nullable annotations, linked documentation 2013-03-26 18:41:39 -05:00