Commit Graph

1617 Commits

Author SHA1 Message Date
Sam Harwell 715fe67fce Fix ANTLRInputStream cannot seek to end of input 2014-01-14 20:09:50 -06:00
Sam Harwell 6934495853 Fixed documentation link 2014-01-14 20:06:05 -06:00
Terence Parr f4e5b23baf Merge pull request #405 from parrt/lexer-interp
Lexer interp
2014-01-14 18:05:22 -08:00
Terence Parr 8f3c01fb3b check for empty tree list. 2014-01-14 19:27:09 -06:00
Terence Parr f4967ff488 make sure we create an interpreter that knows its recognizer 2014-01-14 13:03:58 -06:00
Terence Parr 1246b58b0e factor out setting of root so that external tools can reset the tree to get new display. Also allow setting of ruleNames list externally. 2014-01-14 12:44:05 -06:00
Terence Parr 40f0540d8a make public for use for plugins 2014-01-14 12:36:36 -06:00
Sam Harwell e75beb69b1 Add the StarLoopEntryState.precedenceRuleDecision field so the information can be shared between ParserATNSimulator and ParserInterpreter 2014-01-11 16:27:27 -06:00
Sam Harwell bef086e874 Updated precedence DFA documentation 2014-01-09 20:32:44 -06:00
Sam Harwell 266f7276d1 Initial implementation of a "precedence DFA" (fixes #400) 2014-01-09 18:11:17 -06:00
Sam Harwell 9432bfb746 Do not cache the results of a failed predicate evaluation in the DFA (fixes #398) 2014-01-09 06:52:13 -06:00
Terence Parr 2d7b0b4178 intellij git missed these files 2013-12-20 12:47:58 -08:00
Terence Parr 8c5d088eb7 Merge pull request #378 from sharwell/polish
Tree patterns polish
2013-12-19 17:24:42 -08:00
Sam Harwell a2ba59d0ac Use ATNDeserializer methods instead of deprecated ATNSimulator methods 2013-12-19 19:07:25 -06:00
Sam Harwell fb1880d82c Move ATNSerializer to runtime 2013-12-19 19:07:24 -06:00
Sam Harwell 7f15889d92 Make utility methods in ATNDeserializer static 2013-12-19 19:07:22 -06:00
Sam Harwell 5710eff8f8 Fix small warnings in XPath 2013-12-19 19:06:24 -06:00
Sam Harwell 8449b9258f Updated documentation and API encapsulation for tree patterns 2013-12-19 19:06:23 -06:00
Sam Harwell 40bbd66231 Updated documentation for Token and TokenSource 2013-12-19 19:06:22 -06:00
Sam Harwell 2a9a716c53 Remove unnecessary methods ParseTreeMatch.getText() and failed() (use getTree().getText() and !succeeded() instead) 2013-12-19 19:06:22 -06:00
Sam Harwell 72675075cf Remove unnecessary testing constructor 2013-12-19 19:06:21 -06:00
Sam Harwell 45fd53bf2c Remove unused method Lexer.nextTokenOrRuleToken 2013-12-19 19:06:20 -06:00
Sam Harwell 75b8174dc8 Clean up the result caching for getTokenTypeMap and getRuleIndexMap 2013-12-19 19:06:20 -06:00
Sam Harwell df61690758 Clean up the caching of ATN instances with bypass alternatives 2013-12-19 19:06:19 -06:00
Terence Parr 4b5cb78716 convert toMap usage to parser method calls 2013-11-25 09:40:05 -08:00
Terence Parr bd91dc166d add getTokenTypeMap(), getRuleIndexMap() to recognizer. Gen new fields for that an ATN with bypass alts. Then methods for that: getATNWithBypassAlts(). Big changes to interface for ParseTreeMatch; create Parser.compileParseTreePattern() method. Convert rule names to rule indexes. 2013-11-24 14:04:46 -08:00
Terence Parr 4c52a103e1 cleanup 2013-11-22 11:31:59 -08:00
Terence Parr b2ec85d14d updated comments, cleaned up the API, made helper routines. 2013-11-22 11:08:16 -08:00
Terence Parr 168bce79d3 working on api 2013-11-22 09:55:40 -08:00
Terence Parr 49c4a5ec12 fix labeling, add comments 2013-11-21 16:37:57 -08:00
Terence Parr 1e83557819 reorg to pass round a match object in matches_() 2013-11-21 10:30:37 -08:00
Terence Parr 4a46e1a679 rm dup code 2013-11-21 09:52:54 -08:00
Terence Parr 4cbe197a63 we can't use a lexer interpreter because it does not execute skip actions. I duplicate the lexer and use that 2013-11-21 09:50:16 -08:00
Terence Parr 68b9a7b414 cleanup dead code 2013-11-21 09:35:18 -08:00
Terence Parr e68757717f pass a lexer and a parser to the tree pattern match or instead of the classes. 2013-11-21 09:32:45 -08:00
Terence Parr 599896cf1b throw exception not null 2013-11-21 09:02:53 -08:00
Terence Parr 33d11709df Revert "fix comment"
This reverts commit e8f577e162.
2013-11-21 08:42:28 -08:00
Terence Parr e8f577e162 fix comment 2013-11-21 08:42:02 -08:00
Terence Parr 40789babf5 got tree pattern matching working on my test cases using a parser interpreter not been generated parser to compile patterns like "<ID> = <expr>;". It uses Sam's alteration to the ATN to have bypass alternatives for <expr> tags. 2013-11-20 17:54:57 -08:00
Terence Parr 2394b38995 added state to be consistent with enterRule(); most importantly, we need to set the state when we enter a recursive rule, which we are not doing at the moment. This was not a problem before because we never could directly call a recursive rule and the outer rule set the current state. Now that we are using recursive rules as start rules, we need to set the state. 2013-11-20 17:53:51 -08:00
Terence Parr 2791dd5619 Merge branch 'master' into tree-patterns 2013-11-20 16:57:16 -08:00
Terence Parr 0a314ddd49 merge upstream 2013-11-20 16:56:38 -08:00
Terence Parr 1c71d05074 Merge branch 'master' into tree-patterns 2013-11-20 16:49:27 -08:00
Terence Parr cc07f8faec mv to runtime. was ref'ing v3 not v4 Token. 2013-11-20 16:47:17 -08:00
Terence Parr 42cdf244eb stash 2013-11-20 16:42:28 -08:00
Terence Parr 48ce1f1809 Support getting the serialized ATN from a recognizer 2013-11-20 16:22:01 -08:00
Terence Parr d09510a936 Merge branch 'master' into tree-patterns 2013-11-20 16:09:36 -08:00
Terence Parr 127d9bce3c add comments to Chunk 2013-11-20 16:08:51 -08:00
Terence Parr 3439df0fb0 rm unneeded class 2013-11-20 15:57:50 -08:00
Terence Parr 92a32606cf rm unused lexer 2013-11-20 14:04:40 -08:00
Terence Parr 889c831e1f rm wildcard code 2013-11-20 14:02:06 -08:00
Sam Harwell 0981a397b5 Add option to generate rule bypass transitions during ATN deserialization 2013-11-20 09:14:25 -06:00
Sam Harwell c4c2546fc9 Add the "verifyATN" deserialization option 2013-11-20 09:14:24 -06:00
Sam Harwell affbe51077 Add ATNDeserializationOptions class 2013-11-20 09:14:24 -06:00
Sam Harwell b447256f20 Extract ATN deserialization to a new class ATNDeserializer 2013-11-20 09:14:18 -06:00
Terence Parr f99cc52d39 rm any/all pattern 2013-11-19 09:19:32 -08:00
Terence Parr 2f902da3d2 pull master into branch 2013-11-14 14:43:50 -08:00
Sam Harwell 3309c9d85e Fix build warnings 2013-11-14 15:36:01 -06:00
Sam Harwell 10cd96f809 Generate code for XPathLexer during the build 2013-11-14 15:35:43 -06:00
Terence Parr ab931e4449 Merge pull request #97 from sharwell/precedence-predicates
Precedence predicates
2013-11-14 11:54:55 -08:00
Sam Harwell 2b5f1c14a1 Add deprecated methods to preserve backwards compatibility 2013-11-14 13:37:24 -06:00
Terence Parr b26926570d move getChildren() from Tree into Trees 2013-11-13 16:18:50 -08:00
Sam Harwell 7e3711aca2 Preserve backwards compatibility for grammars generated with versions of the tool prior to adding precedence predicates 2013-10-10 21:10:11 -05:00
Sam Harwell b14ca56441 Merge branch 'master' into precedence-predicates 2013-10-10 20:36:38 -05:00
Terence Parr 9cd32f36b4 remove comment and package spec from grammar 2013-09-17 17:13:10 -07:00
Terence Parr 8aeb90ef82 mv findAll to XPath; rm old test in playground. 2013-09-16 14:56:35 -07:00
Terence Parr 6b1cef745c rm unneeded getChildren 2013-09-16 14:50:13 -07:00
Terence Parr 004f47174b rm comment 2013-09-13 13:57:20 -07:00
Terence Parr 01082414c3 rebuilt XPath using ANTLR itself; added error handling; added ! operator 2013-09-13 13:53:42 -07:00
Terence Parr a86895c557 prototype xpath 2013-09-12 17:22:02 -07:00
Terence Parr 211f69d0f1 simplify 2013-09-12 17:12:54 -07:00
Terence Parr 09ddded3ed cleaned up test rig. more tests. fix bugs. 2013-09-11 17:49:25 -07:00
Terence Parr 088cd4a9bc got test rig start. added support test rig stuff to exec parser. add findAll to ParseTree interface. 2013-09-11 14:59:53 -07:00
Terence Parr 3fda64f85b got a draft implementation 2013-09-11 11:25:07 -07:00
Terence Parr 8237952cbb stash 2013-09-10 20:11:01 -07:00
Terence Parr 20d8545e3d stash 2013-09-10 19:51:11 -07:00
Terence Parr 913cda0721 adding more xpath expr types 2013-09-10 19:48:36 -07:00
Terence Parr 76418c2b9b refine getChildren() method to narrow return type. 2013-09-10 17:43:25 -07:00
Terence Parr cbd6e17925 oops; need method: add getChildren() method to Tree. 2013-09-10 17:37:20 -07:00
Terence Parr 00fa2c7617 add getChildren() method to Tree. 2013-09-10 17:34:24 -07:00
Terence Parr d505a393ef tweak 2013-09-10 15:14:53 -07:00
Terence Parr d2caae46a7 working on xpath 2013-09-10 14:55:40 -07:00
Terence Parr 145aeb955d initial add of xpath stuff 2013-09-10 13:18:47 -07:00
Terence Parr 76b4eef60a more unit tests; add <.> 2013-09-09 17:26:16 -07:00
Terence Parr 95aa103dc2 matches text now if not <ID> node 2013-09-09 15:13:37 -07:00
Terence Parr f995e47443 rm ruletag from ParserRuleContext; back to (expr <expr>) for tag in pattern 2013-09-09 14:54:44 -07:00
Terence Parr 94d3c71b02 rm unneeded IF check 2013-09-09 14:47:02 -07:00
Terence Parr 90187039f0 foo 2013-09-09 14:45:46 -07:00
Terence Parr 0df4411ea7 got optimized tree back with <expr> as single node 2013-09-09 13:50:33 -07:00
Terence Parr 7ead36fb4b fix error handling to just match <expr> as token under expr RuleNode 2013-09-08 19:10:04 -07:00
Terence Parr cfac804b57 fix error handling to just match <expr> as token under expr RuleNode 2013-09-08 18:56:07 -07:00
Terence Parr b1c4c77d28 tweak 2013-09-05 17:16:43 -07:00
Terence Parr 754348605d create match object for matching 2013-09-05 16:58:37 -07:00
Terence Parr 4b87f84b99 got decent test rig 2013-09-04 17:09:14 -07:00
Terence Parr 731b0f6528 damn intellij 2013-09-04 14:51:04 -07:00
Terence Parr 531c31861a got basic pattern compilation going 2013-09-04 14:48:21 -07:00
Terence Parr 56cd7cdf2c split apart 2013-09-04 12:37:04 -07:00
Terence Parr 5f60ad859e stash 2013-09-04 10:15:22 -07:00
Terence Parr 1070d3a10f improved tag matching, got escapes working. 2013-09-03 18:32:54 -07:00
Terence Parr d4316ff44b ah. stupid intellij didn't submit 2013-09-02 18:21:21 -07:00
Terence Parr b4a7ace911 got decent start 2013-09-02 18:20:58 -07:00
Terence Parr 3416f6db05 playing with initial matcher 2013-09-01 15:43:50 -07:00
Terence Parr ba6c711e85 avoid resource leak upon write() exception (Coverity) 2013-08-31 17:31:17 -07:00
Terence Parr be0d6b3fce clean up equals/hashcode for Interval (Coverity) 2013-08-31 17:25:32 -07:00
Terence Parr d22290d44f consistent return of null for empty DFA (Coverity) 2013-08-31 17:20:00 -07:00
Terence Parr a7a2050fd2 rm dead code (Coverity) 2013-08-31 17:19:12 -07:00
Terence Parr d0b9e7388c change cast to null chk (Coverity) 2013-08-31 17:08:25 -07:00
Terence Parr 9420672520 make explicit that graphs must be EmptyContext, never null (Coverity) 2013-08-31 16:29:40 -07:00
Terence Parr d4f2abc5e3 resource leak fix from Coverity Scan 2013-08-31 13:01:53 -07:00
Terence Parr 68723eff20 fix null ptr exception as reported by Coverity 2013-08-29 17:11:52 -07:00
Sam Harwell 274120c2b6 Now working on release 4.1.1 2013-07-02 19:11:04 -05:00
Sam Harwell 6236072e3b Documentation updates prior to release 2013-06-30 15:50:56 -05:00
Sam Harwell 89a251e497 Simplify ArrayPredictionContext.isEmpty() 2013-06-30 15:42:27 -05:00
Sam Harwell 05f7fc6500 Update development version to 4.1 (from 4.0.1) 2013-06-30 12:46:41 -05:00
Sam Harwell c3af4e9b7b Merge pull request #278 from sharwell/reduce-gc 2013-06-24 15:35:21 -05:00
Sam Harwell ca21368961 Merge pull request #290 from sharwell/fix-288
Remove the ParserRuleContext.altNum field (fixes #288)
2013-06-24 13:22:53 -07:00
Sam Harwell c58721b78c Merge pull request #291 from sharwell/fix-282 2013-06-24 15:17:01 -05:00
Sam Harwell b0ddb45654 Merge pull request #284 from sharwell/epsilon-analysis
Add the EPSILON_CLOSURE error and EPSILON_OPTIONAL warning
2013-06-24 13:09:38 -07:00
Sam Harwell 7453ddaf72 closureBusy set is only necessary to prevent infinite recursion for right-recursive SLL rules (fixes #282) 2013-06-24 14:57:55 -05:00
Sam Harwell f6bcbdba61 Remove the ParserRuleContext.altNum field (fixes #288) 2013-06-24 12:20:46 -05:00
Sam Harwell e575dc40e3 Merge pull request #285 from sharwell/non-greedy-optional
Fix ATN created for non-greedy optional block with multiple alternatives
2013-06-24 10:01:40 -07:00
Sam Harwell 40f41e2b1c Fix ATN created for non-greedy optional block with multiple alternatives 2013-06-14 21:05:58 -05:00
Sam Harwell 3bb774a508 Add the EPSILON_CLOSURE error and EPSILON_OPTIONAL warning 2013-06-14 20:53:34 -05:00
Sam Harwell 84324f1dad PredictionContext instances are not naturally ordered, so remove Comparable implementation 2013-06-06 15:44:38 -05:00
Sam Harwell 4c45a4bc66 Reduce GC requirements by creating fewer objects during closure 2013-06-06 15:39:22 -05:00
Sam Harwell 9d11817667 Resize ANTLRInputStream.data after reading a file with fewer characters than bytes 2013-06-01 22:11:19 -05:00
Sam Harwell 2a90413188 Use standard 0-based indexing 2013-06-01 22:07:27 -05:00
Sam Harwell dc801ad6a7 Extend the supported input character range to include all UTF-16 code points (specifically, U+FFFF is now supported, fixes #267) 2013-06-01 22:03:18 -05:00
Sam Harwell 780b7ac4ce Document ANTLRErrorListener and DiagnosticErrorListener (fixes #265) 2013-06-01 22:00:06 -05:00
Sam Harwell f1f134c962 DiagnosticErrorListener includes rule names for each decision in its reports 2013-06-01 21:55:31 -05:00
Sam Harwell 469ebdd6e8 Fix unit tests now that the parser might not compute the conflicting alts BitSet before calling report methods 2013-05-20 14:58:32 -05:00
Sam Harwell 13f121a16f Add @NotNull annotations to listener and visitor methods 2013-05-20 14:20:54 -05:00
Sam Harwell 0644d1a471 Remove statistics gathering from ParserATNSimulator that's more suited for specialized listeners 2013-05-18 14:18:53 -05:00
Sam Harwell d8f2a5ce3c Pass more information to ANTLRErrorListener methods 2013-05-18 14:17:36 -05:00
Sam Harwell d9d5100105 Use JavaUnicodeInputStream for proper handling of Unicode escape sequences in Java source code 2013-05-17 23:47:59 -05:00
Sam Harwell f9f4883855 Updated documentation in LL1Analyzer 2013-05-14 16:26:45 -05:00
Sam Harwell c0d1fcc110 Use 0-based indexing for decision lookahead so we aren't wasting memory, and array indexing is now consistent with ATN state outgoing transitions indexing 2013-05-14 09:57:04 -05:00
Sam Harwell 33c316baa4 Use a called rule stack to prevent stack overflow in LL1Analyzer 2013-05-14 09:54:27 -05:00
Sam Harwell d67d924b0d Update additional classes to use MurmurHash hashing 2013-05-05 14:21:42 -05:00
Sam Harwell fc21b41afb Update PredictionContext to use the MurmurHash 3 hash algorithm 2013-05-05 14:21:41 -05:00
Sam Harwell a7d2838838 Add a default title to the TreeViewer dialog 2013-05-01 22:38:36 -05:00
Sam Harwell 2fe7804ee3 Tweak TreeViewer layout since the zoom slider only affects the visual layout 2013-05-01 22:38:05 -05:00
Bart Kiers 9a75c629d2 Added JTree to TreeViewer. 2013-05-01 22:14:12 -05:00
Terence Parr eb9eb17aa2 inline predictATN into adaptivePredict 2013-04-25 17:39:37 -07:00
Sam Harwell 5821747a42 Add TestPerformance.COMPUTE_TRANSITION_STATS 2013-04-24 12:47:25 -05:00
Sam Harwell ca0b0ae74c Extract methods getExistingTargetState and computeTargetState 2013-04-24 12:42:18 -05:00
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
Sam Harwell c6a9d62b25 Track the number of syntax errors in Parser.notifyErrorListeners instead of in the error strategy 2013-03-26 18:23:06 -05:00
Sam Harwell bc17cd4a28 Move primary implementation of getExpectedTokens to ATN, fixes #191 2013-03-26 18:14:19 -05:00
Sam Harwell 4f29c2fe3d Updated ATN documentation 2013-03-26 18:14:16 -05:00
Sam Harwell f6ad977e0d ATN fields grammarType and maxTokenType are now final 2013-03-26 18:14:13 -05:00
Sam Harwell 8b6c994694 Remove unnecessary field ATN.stateNumber 2013-03-26 18:14:10 -05:00
Sam Harwell 36abbda44f Create ATNType enumeration for ATN.grammarType field, use UUID instead of incrementing a version number for improved reliability across branches 2013-03-26 18:14:07 -05:00
Sam Harwell 7d52fb7ecd Add a PNG Files filter and select it by default 2013-03-07 15:21:49 -06:00
Sam Harwell 5fdb01499d Handle the overwrite confirmation by overriding JFileChooser.approveSelection 2013-03-07 15:21:18 -06:00
Bart Kiers c62dfdaa69 Expanded PNG export functionality. 2013-03-07 21:09:51 +01:00
Terence Parr 347375ec04 Move "png" button to the right of "OK", refactor export action to its own method 2013-03-06 15:20:30 -06:00
Sam Harwell 82a00104f6 Fix formatting problems in pull request 2013-03-06 15:15:32 -06:00
Bart Kiers 39f58b95ae Added a export-to-PNG button in the dialog that is launched after invoking org.antlr.v4.runtime.misc.TestRig with the "-gui" parameter. When pressed, a PNG file of the parse tree is created in the present working directory. 2013-03-06 21:05:19 +01:00
Sam Harwell e0e6e0a94c Specify locale for all format operations (fixes #158) 2013-03-06 11:26:38 -06:00
Sam Harwell fef6dd2885 Allow direct calls to left-recursive rules (fixes #161) 2013-03-06 10:48:42 -06:00
Sam Harwell 03f8d3772f Fix comparison with IntStream.EOF 2013-02-26 11:09:24 -06:00
Terence Parr b372d4d88d add TODOs and fix a -1 to be a constant. 2013-02-23 14:03:20 -08:00
Sam Harwell 53f147bb18 Clarify type widening casts 2013-02-22 14:10:17 -06:00
Sam Harwell bb36baeb21 Add a non-null default source Pair for CommonToken 2013-02-22 14:10:15 -06:00
Sam Harwell 1789e1685b Pair and Triple are immutable, and Triple is not a Pair 2013-02-22 14:09:29 -06:00
Sam Harwell 3d59e47fb4 Remove unnecessary method Utils.replace (already exists as String.replace) 2013-02-22 14:08:51 -06:00
Terence Parr c46bce3251 rm bad comment. 2013-02-18 10:27:58 -08:00
Sam Harwell adf80e166a Fix IntervalSet.add when multiple merges are required 2013-02-05 13:11:49 -06:00
Dave Parfitt ee0dc0542a don't call process() if args aren't specified 2013-01-29 11:34:29 -05:00
Sam Harwell e1cce61400 Development line is now 4.0.1 2013-01-21 19:20:01 -06:00
Sam Harwell ad9bac9519 Fix diagrams for ATNState documentation 2013-01-21 13:39:53 -06:00
Sam Harwell b956a9eda1 Fix incorrect HTML excape in Javadoc code tag 2013-01-21 13:13:14 -06:00
Sam Harwell 0054cc020a Prediction context documentation including graphs 2013-01-21 13:13:12 -06:00
Sam Harwell d79bc252bc TestRig uses instance fields instead of static fields, allows reuse from other applications 2013-01-12 14:11:22 -06:00
Sam Harwell 7ae67de110 Reduce size of _serializedATN by adding 2 to each element: new representation avoids embedded values 0 and 0xFFFF which are common and have multi-byte representations in Java's modified UTF-8 2013-01-11 13:34:08 -06:00
Sam Harwell 3bfd7c3770 Add map from Java's logical fonts to postscript font names 2013-01-10 15:02:17 -06:00
Sam Harwell f19059d6b5 Calculate font metrics from the system 2013-01-10 15:02:11 -06:00
Sam Harwell d1ba09f1f7 Clarify number of allowed transitions leaving a state 2013-01-05 14:34:16 -06:00
Sam Harwell 93f7a448e7 Add graphs describing ATNState relations 2013-01-05 05:47:15 -06:00
Sam Harwell d95cdab065 Updated documentation in PredictionMode 2013-01-03 04:03:34 -06:00
Sam Harwell 4010c599ba Clarify the impact of configurations in rule stop states on the parser prediction termination algorithm 2013-01-03 02:46:24 -06:00
Sam Harwell 2b2114c3ae Javadoc formatting, clarification, and links 2013-01-03 02:45:09 -06:00
Sam Harwell 90c234895a Added javadocs for recently added methods 2013-01-03 02:44:39 -06:00
Sam Harwell 6c23a96046 Always update ATNConfigSet.hasSemanticContext and ATNConfigSet.dipsIntoOuterContext when adding configurations to the set; remove unnecessary manual updates 2013-01-03 02:41:02 -06:00
Sam Harwell 4754ef993a Simplify similar code paths 2013-01-02 13:46:00 -06:00
Sam Harwell 51437b7eed Fix handling of rule stop states in full context mode 2013-01-02 13:45:59 -06:00
Sam Harwell 1f4f850765 Remove unnecessary null checks 2013-01-02 13:45:58 -06:00
Sam Harwell 43c5dd0a67 Handle potential null value 2013-01-02 13:45:57 -06:00
Sam Harwell 0b7a0a4c4b Add several additional checks to verifyATN 2013-01-02 13:45:55 -06:00
Sam Harwell 6a9a6f7e50 Extract checkCondition helper method 2013-01-02 13:45:54 -06:00
Sam Harwell 21ac9a3ebe ATNSimulator.stateFactory sets the ruleIndex (required), not the stateNumber (it's overwritten in ATN.addState) 2013-01-02 12:50:57 -06:00
Sam Harwell a5e0c47be5 Formatting: no space after cast 2013-01-02 12:49:12 -06:00
Sam Harwell fbfa61c3dd Remove tree parser reference 2013-01-02 12:48:58 -06:00
Sam Harwell 4040dc0d6d After consuming EOF, only configurations in a RuleStopState are viable 2013-01-02 09:03:14 -06:00
Sam Harwell b34ad624bc No need to continue SLL prediction if every configuration is at a RuleStopState 2013-01-02 09:02:23 -06:00
Sam Harwell 2080be8a14 Cannot call IntStream.consume after EOF is reached 2013-01-02 08:30:25 -06:00
Sam Harwell 8c92df27c6 Fix javadoc issues 2013-01-02 06:55:38 -06:00
Sam Harwell 131c26edc0 Add @NotNull annotation 2013-01-02 06:41:24 -06:00
Sam Harwell 673dce5664 Add private constructor for Trees 2013-01-02 06:41:23 -06:00
Sam Harwell 8839d6b185 Remove unused/commented methods 2013-01-02 06:41:22 -06:00
Sam Harwell 112810db28 Documentation updates 2013-01-02 06:41:20 -06:00
Sam Harwell 5d390b4a90 Need to shutdown the ExecutorService or the application will stay open 2012-12-29 00:16:59 -06:00
Terence Parr 29fd6a0c16 improved javadoc output 2012-12-24 12:13:31 -08:00
Sam Harwell b7e5cbd7f5 Use Arrays.copyOf 2012-12-20 16:55:56 -06:00
Sam Harwell 1894017eb7 Switch on result of getStateType 2012-12-20 16:55:18 -06:00
Sam Harwell f3f8b425c3 Reference IntStream.EOF directly 2012-12-20 16:55:16 -06:00
Sam Harwell 6a5f609797 Add Utils.waitForClose 2012-12-18 18:15:21 -06:00
Sam Harwell 62531d2ea1 RuleContext.inspect returns Future<JDialog> to provide the created dialog 2012-12-18 18:15:06 -06:00
Sam Harwell 3b82dd9e24 inspect and save work with a list of rule names (no need to pass the Parser instance) 2012-12-18 18:13:32 -06:00
Sam Harwell 50822b6ca5 Updated NetBeans configuration 2012-12-18 17:59:01 -06:00
Sam Harwell 29be5523ff Update documentation 2012-12-17 22:09:52 -06:00
Sam Harwell 068075f1c4 Fix usage of BufferedTokenStream: cannot consume EOF 2012-12-17 22:09:50 -06:00
Sam Harwell 4832425848 Update BufferedTokenStream implementation to match IntStream interface: consume throws IllegalStateException if LA(1)==EOF 2012-12-17 22:09:47 -06:00
Sam Harwell a64cdc8e2d Make sure reportAttemptingFullContext occurs with input index at the expected location 2012-12-17 13:57:17 -06:00
Sam Harwell 9ec75650e3 Optimize ATNState.getStateType 2012-12-17 13:20:47 -06:00
Sam Harwell 225cd78d50 Update code formatting for easier debugging 2012-12-15 12:09:03 -06:00
Sam Harwell 9a8d0f06f7 Implement Array2DHashSet.retainAll and Array2DHashSet.removeAll 2012-12-15 12:09:01 -06:00
Sam Harwell aea4c89c04 Update documentation and comments 2012-12-15 12:09:00 -06:00
Sam Harwell 0b71671cda Optimized Array2DHashSet.expand 2012-12-15 12:08:58 -06:00
Sam Harwell e37f5d2c20 Need to resize array if the one provided doesn't have enough room 2012-12-15 12:08:57 -06:00
Sam Harwell 01893f9678 Make sure to set last bucket to null after remove or you could have a memory leak 2012-12-15 12:08:55 -06:00
Sam Harwell 4e1473a6f0 Mark some methods final, remove unnecessary check for null 2012-12-15 12:08:53 -06:00
Sam Harwell 431cdbeb45 Call containsFast directly to avoid an IDE warning about calling contains with an unexpected object type 2012-12-15 12:08:51 -06:00
Sam Harwell 83483a7a49 Add containsFast and removeFast to avoid a type check when you already have an instance of T 2012-12-15 12:08:49 -06:00
Sam Harwell c157801296 Add Array2DHashSet.asElementType for casts from Object to T 2012-12-15 12:08:48 -06:00
Sam Harwell c654c1b428 Improved generics usage in Array2DHashSet 2012-12-15 12:08:46 -06:00
Sam Harwell fd62c583da ATNConfigSet.toArray returns ATNConfig[] 2012-12-15 12:08:44 -06:00
Sam Harwell b2c119002c Extract anonymous class to SetIterator inner class 2012-12-15 12:08:42 -06:00
Sam Harwell e259cea426 Array2DHashSet.toArray returns T[] 2012-12-15 12:08:41 -06:00
Sam Harwell f77cf59dbf Add Array2DHashSet.createBucket (returns T[]) and createBuckets (returns T[][]) 2012-12-15 12:08:39 -06:00
Sam Harwell 36800289a2 Rename absorb to getOrAdd 2012-12-15 12:08:37 -06:00
Sam Harwell 5d238a22c7 equals should check the argument type before attempting a cast 2012-12-15 12:08:35 -06:00
Sam Harwell 076a2dcbb9 Remove expensive method that's no longer needed 2012-12-15 12:08:34 -06:00
Sam Harwell c99703e150 Remove call to hashCode that was slowing down equals 2012-12-15 12:08:32 -06:00
Sam Harwell c009c5081d Add AbstractConfigHashSet to consolidate default constructor parameters 2012-12-15 12:08:30 -06:00
Sam Harwell 0504334d08 Add missing @Override annotations 2012-12-14 09:42:02 -06:00
Sam Harwell 05b0f645ef Reduce and/or operations on multiple precedence predicates to a single predicate 2012-12-12 09:46:05 -06:00
Sam Harwell c0668a9cae Merge remote-tracking branch 'antlr/master' into precedence-predicates 2012-12-12 09:42:17 -06:00
Sam Harwell 9b75ea79f9 Automatically reduce SemanticContext.AND/SemanticContext.OR with a single operand to the operand itself 2012-12-12 09:35:54 -06:00
Sam Harwell e5e4402ea9 Merge remote branch 'sharwell/array-opt' with master 2012-12-12 09:28:55 -06:00
Sam Harwell 0e91700678 Stronger argument checks for ATN state and transition factory methods 2012-12-07 11:16:04 -06:00
Sam Harwell 8df31df66c Add int RuleTransition.precedence 2012-12-06 13:56:12 -06:00
Sam Harwell c556b821f6 Add boolean RuleStartState.isPrecedenceRule 2012-12-06 13:56:11 -06:00
Sam Harwell c44ae39ae5 Evaluate precedence predicates using a special PrecedencePredicateTransition 2012-12-06 13:56:03 -06:00
Sam Harwell 9d3c763470 Add ATNSimulator.SERIALIZED_VERSION, resolved antlr/antlr4#95 2012-12-06 13:07:32 -06:00
Sam Harwell 64a4114850 Make debug fields compile-time constants to improve release runtime performance 2012-12-06 13:07:29 -06:00
Sam Harwell 886baaf773 Use separate lists in the serialized ATN for non-greedy states (cleaner, allows ATNs with twice as many states), resolves antlr/antlr4#96 2012-12-06 13:07:11 -06:00
Sam Harwell b2ab7ab5ac Rename master artifact to antlr4-master 2012-12-04 12:57:56 -06:00
Sam Harwell 380d3dadde Create a ParseTreeVisitor interface, rename current abstract base class to AbstractParseTreeVisitor 2012-12-02 17:57:28 -06:00
Terence Parr cda9afdf55 update license everywhere. 2012-12-02 12:58:02 -08:00
Terence Parr 9e3907d573 tokens now have token and char source to draw from. fix and close antlr/antlr4#88 2012-12-01 17:23:50 -08:00
Terence Parr fc79752748 Merge branch 'master' of github.com:antlr/antlr4 2012-12-01 14:38:33 -08:00
Terence Parr 7049972ab7 escape [\r\n\t] in lexical error messages. Fixes antlr/antlr4#75 2012-12-01 14:36:59 -08:00
Sam Harwell 8a3298e075 Configure the maven-compiler-plugin in the parent POM, including the use of a bootstrap classpath to build a Java 6-compatible jar even when Java 7 is used to build it 2012-11-30 12:28:39 -06:00
Sam Harwell af76d3294e Configure the maven-source-plugin and maven-javadoc-plugin in the parent POM 2012-11-30 12:26:25 -06:00
Sam Harwell f264609453 Updated POMs for deploying to sonotype 2012-11-27 23:34:36 -06:00
Sam Harwell d68f75067d Updated library and plugin references 2012-11-26 20:24:35 -06:00
Sam Harwell 5b4809deb6 Include source and javadoc jars in maven builds 2012-11-26 20:21:38 -06:00
Sam Harwell 769e0a418e Updated javadoc 2012-11-26 20:19:09 -06:00
Sam Harwell 6369097630 Remove unnecessary dependency on ST4 2012-11-26 20:14:58 -06:00
Sam Harwell 90f4452dc4 Remove unused method TerminalNodeImpl.isErrorNode 2012-11-26 09:16:30 -06:00
Sam Harwell 6421e312a4 Remove the RuleContext.hashCode, equals, conflictsWith, and suffix methods since they produce unexpected behavior for ParserRuleContext and are no longer used for adaptivePredict 2012-11-26 02:24:16 -06:00
Sam Harwell cd5192dd1a Remove inherited and default properties from POMs 2012-11-23 13:46:13 -06:00
Sam Harwell 85f01bcce2 Updated module display names in POMs 2012-11-23 13:37:36 -06:00
Sam Harwell 121044d3b9 Remove inherited property from POMs 2012-11-23 13:36:27 -06:00
Sam Harwell 94803fa9f7 Specify parent POMs 2012-11-23 13:28:52 -06:00
Sam Harwell f3ca54d350 Separate the EqualityComparator interface from the Set and Map implementations that need it 2012-11-21 19:30:41 -06:00
Sam Harwell 094f40c961 Remove unused field 2012-11-21 17:13:20 -06:00
Terence Parr fc7977e0d9 rename method 2012-11-20 15:09:27 -08:00
Sam Harwell aba4034051 Evaluate preds in SLL before falling back to full context, avoid full context prediction if unique alternative results 2012-11-18 14:16:28 -06:00
Sam Harwell 691532190c Extract method ParserATNSimulator.predicateDFAState 2012-11-18 14:15:16 -06:00
Terence Parr e366f00820 small improvement in error msg 2012-11-17 16:09:12 -08:00
Terence Parr a438c11734 Merge branch 'visitors' of git://github.com/sharwell/antlr4 2012-11-15 13:00:48 -08:00
Terence Parr ab5c9ede09 Merge branch 'set-interpreter' of git://github.com/sharwell/antlr4 2012-11-15 12:58:50 -08:00
Terence Parr a69ccb3c70 Merge branch 'token-stream-bugs' of git://github.com/sharwell/antlr4 2012-11-15 12:55:32 -08:00
Terence Parr b83a6bbeb0 Merge branch 'recognizer-local-state' of github.com:sharwell/antlr4 2012-11-14 17:07:42 -08:00
Terence Parr e1c8957192 rm two a.equals(a) bugs 2012-11-14 16:59:15 -08:00
Sam Harwell 18f5354d1b Merge branch 'master' into token-stream-bugs 2012-11-14 15:07:33 -06:00
Sam Harwell 3a7a4907aa Merge branch 'master' into set-interpreter 2012-11-14 14:45:50 -06:00
Sam Harwell 92ae0f0fa6 Merge branch 'recognizer-local-state' 2012-11-14 14:40:56 -06:00
Sam Harwell d66962e860 Make ParseTreeVisitor more extensible, updated documentation 2012-11-14 13:07:02 -06:00
Terence Parr 61ed3bc019 Revert "Simplify Parser.getExpectedTokens and DefaultErrorStrategy.getErrorRecoverySet"
This reverts commit d33172dce5.
2012-11-04 17:02:41 -08:00
Terence Parr e5c2dfaac4 Kill box in tree dialog box makes dialog dispose of itself 2012-11-04 15:47:00 -08:00
Sam Harwell d33172dce5 Simplify Parser.getExpectedTokens and DefaultErrorStrategy.getErrorRecoverySet 2012-11-04 13:35:10 -06:00
Sam Harwell a70479ad0c Fix ParserATNSimulator handling of EOF and rule stop states 2012-11-04 13:35:09 -06:00
Sam Harwell 68b9798d6f LL1Analyzer adds EOF to expected tokens set if closure reaches end of start rule. 2012-11-04 13:35:09 -06:00
Sam Harwell b917c01bba Fix lexer error recovery could try to consume EOF 2012-11-04 11:30:03 -06:00
Terence Parr 0c3ce2860e Merge branch 'lexer-eof' of github.com:sharwell/antlr4 2012-11-03 17:52:27 -07:00
Terence Parr 4480634f13 do exact LL ambigs for -diagnostics 2012-11-03 17:35:57 -07:00
Terence Parr d1795d205f Revert "add option -exact-ambiguities to TestRig"
This reverts commit 400b58d4a0.
2012-11-03 17:34:34 -07:00
Terence Parr 400b58d4a0 add option -exact-ambiguities to TestRig 2012-11-03 16:40:23 -07:00
Sam Harwell 28e29e39dc Remove code to explicitly add EOF transitions to rule stop states with no outgoing edges 2012-11-03 15:47:23 -05:00
Sam Harwell fbaac8194b Avoid calling consume() at EOF 2012-11-03 15:47:22 -05:00
Sam Harwell c9890e8305 Throw IllegalStateException if the user tries to consume EOF 2012-11-03 15:47:22 -05:00
Terence Parr a9d4aeab71 no ? extends on rule ctx getters. 2012-11-03 08:57:49 -07:00
Sam Harwell a828b99b59 Pass -Xlint -Xlint:-serial to javac (Maven build of runtime) 2012-11-01 18:11:35 -05:00
Sam Harwell d220f90d3b Remove generics from all runtime code which did not use them to provide type safety 2012-11-01 18:07:12 -05:00
Sam Harwell 3470978749 Updated naming conventions since RuleContext stores invoking states but PredictionContext stores return states 2012-11-01 13:47:44 -05:00
Sam Harwell c2722b127a Store return states instead of invoking states in PredictionContext instances 2012-11-01 13:35:55 -05:00
Sam Harwell 7bbc6c18be Remove unchecked casts 2012-11-01 08:58:00 -05:00
Sam Harwell ca38320d43 Simplify ATNConfigSet.toArray 2012-11-01 08:49:14 -05:00
Sam Harwell eca9090fce Remove tracing support from LexerATNSimulator - in process of moving it to dynamic instrumentation to eliminate runtime overhead in production use 2012-11-01 05:35:01 -05:00
Sam Harwell d748271816 Remove getSpeculativeText since getText works again 2012-10-31 21:52:50 -05:00
Sam Harwell a4ba562210 LexerATNSimulator adjusts the input position during a speculative predicate evaluation to accurately reflect the state where the predicate appears in the grammar 2012-10-31 21:52:41 -05:00
Sam Harwell efa9ea7811 Simplify LexerATNSimulator to reduce duplicate code (duplicate instruction executions and duplicated code blocks) 2012-10-30 09:24:03 -05:00
Sam Harwell bad2751a2c Add edge suppression for lexer start state - required for left edge predicates 2012-10-30 08:46:42 -05:00
Terence Parr 72c1fc8f6d tweaks on comments 2012-10-29 12:47:09 -07:00
Sam Harwell f554a2ed4f Eliminate debug and dfa_debug overhead in LexerATNSimulator by making them compile-time constants 2012-10-29 13:32:02 -05:00
Sam Harwell 7bf50c8263 LexerATNSimulator uses explicit lower bound for DFAState.edges array 2012-10-29 13:32:02 -05:00
Sam Harwell 1269ce8d4e Remove 2 field accesses per input character in LexerATNSimulator 2012-10-29 13:32:01 -05:00
Sam Harwell 0deadc688a Remove unnecessary array indexing operation in execDFA 2012-10-29 13:32:00 -05:00
Sam Harwell c34f0d6945 Remove duplicate array bounds check 2012-10-29 13:31:59 -05:00
Sam Harwell afed3ac349 Remove unnecessary null checks 2012-10-29 13:31:58 -05:00
Sam Harwell d17f919123 Updated NotNull annotations in LexerATNSimulator 2012-10-29 13:31:57 -05:00
Sam Harwell 5dace66921 DFAState.configs cannot be null 2012-10-29 13:31:57 -05:00
Sam Harwell 9873230f55 Correctness for lexer DFA with semantic predicate evaluation only requires suppressing single edges from the DFA 2012-10-29 13:31:56 -05:00
Terence Parr a115490d5e Merge branch 'warnings-as-errors' of git://github.com/sharwell/antlr4 2012-10-29 11:27:46 -07:00
Sam Harwell ee64790739 In lexer, configs which never reached a non-greedy decision state are fully greedy (unordered alternatives, longest match) 2012-10-29 13:14:51 -05:00
Sam Harwell 871db85ecb Add field DecisionState.nonGreedy, computed in tool and serialized as one bit in the state type field 2012-10-29 13:14:50 -05:00
Sam Harwell 4adef1e455 Output from -atn flag shows the order of outgoing edges from decision states. 2012-10-28 11:17:39 -05:00
Sam Harwell 950f588ac0 Fix implementations: TokenStream interface says getText method returns non-null 2012-10-28 10:04:34 -05:00
Terence Parr d5341b55af Merge branch 'encapsulation' of git://github.com/sharwell/antlr4 2012-10-24 12:59:46 -07:00
Terence Parr b89445e861 Merge branch 'maven-update' of git://github.com/sharwell/antlr4 2012-10-24 12:58:52 -07:00
Terence Parr cb0f5c0e51 Merge branch 'parsecancellationexception' of git://github.com/sharwell/antlr4 2012-10-24 12:58:26 -07:00
Terence Parr 31c9fc33f1 Merge branch 'ordered-configs' of git://github.com/sharwell/antlr4 2012-10-24 10:51:56 -07:00
Terence Parr 4f918f75bc Merge branch 'get-reachable-target' of git://github.com/sharwell/antlr4 2012-10-24 10:41:46 -07:00
Sam Harwell a80a6022ff Update pom.xml 2012-10-22 12:19:24 -05:00
Sam Harwell bb44db6397 Create a new ParseCancellationException for BailErrorStrategy. Derived from RuntimeException so existing handlers will still work. 2012-10-22 12:12:39 -05:00
Sam Harwell 36c63db299 Remove redundant casts, encapsulate fields in RecognitionException 2012-10-22 09:52:55 -05:00
Sam Harwell 4790ab76e1 Encapsulate fields in NoViableAltException and LexerNoViableAltException 2012-10-22 09:40:44 -05:00
Sam Harwell 1ae3c0104c Simplify FailedPredicateException constructors, encapsulate fields 2012-10-22 09:18:29 -05:00
Sam Harwell 12b2c34946 Lexer uses strictly-ordered alternatives within a rule. Simplifies code, increases performance when non-terminal (lexer rules) depth is limited, and actually fixes non-greedy behavior 2012-10-21 22:04:38 -05:00
Terence Parr ed7d4b1dc1 fail option on predicates work. 2012-10-20 15:57:06 -07:00
Terence Parr ab6b341942 a few tweaks/comments. 2012-10-20 12:51:36 -07:00
Sam Harwell 52f1d3b6e5 Simplify getReachableTarget 2012-10-16 08:04:42 -05:00
Sam Harwell 1af9b4c338 Simplify and document non-greedy behavior in processAcceptConfigs 2012-10-16 08:01:46 -05:00
Sam Harwell fb87e4c785 Another fix for non-greedy with closures 2012-10-16 07:53:23 -05:00
Sam Harwell f9a63b8810 Fix bug in PredictionContext.arrayMerge 2012-10-15 14:57:06 -05:00
Sam Harwell 6fa853c14f Fixes to LexerATNSimulator.closure, fixes to non-greedy positive closure 2012-10-15 02:01:07 -05:00
Sam Harwell a40073a8cc Merge remote-tracking branch 'antlr/master' into non-greedy 2012-10-15 01:58:15 -05:00
Sam Harwell bbe77782db Fix state checking in new non-greedy handling 2012-10-15 00:56:25 -05:00
Sam Harwell aa2223cd6a Fix assertion in PredictionContext.mergeArrays 2012-10-14 22:40:34 -05:00
Sam Harwell 7c221f13ed Unify EMPTY_FULL_CTX_INVOKING_STATE and EMPTY_INVOKING_STATE (fixes an array indexing error during closure) 2012-10-14 22:25:11 -05:00
Sam Harwell 025cc6187a Fix handling of non-greedy blocks in the lexer (uses regex-style non-greedy with unordered alternatives) 2012-10-14 21:46:57 -05:00
Sam Harwell 28b243cda5 BlockEndState links to start state for each block in the ATN (constructed during deserialization) 2012-10-14 21:45:35 -05:00
Sam Harwell 0d30a7a60b Add ATN representation for non-greedy decisions 2012-10-14 21:45:34 -05:00
Sam Harwell c68c058280 Implement Array2DHashSet.iterator 2012-10-14 21:45:29 -05:00
Terence Parr a0ffc84952 Merge branch 'master' into new-conflicting-alts 2012-10-14 18:47:32 -07:00
Terence Parr 327a3a0100 Revert "update comment on consume()"
This reverts commit 27a8e5e521.
2012-10-14 18:46:54 -07:00
Terence Parr 54871d52ff Revert "let it consume EOF since we sometimes need to match that during prediction"
This reverts commit 643edf0263.
2012-10-14 18:46:43 -07:00
Terence Parr 75a01636d0 got ambiguity reporting set right I think. fixed unit tests to force exact ambig detection. 2012-10-14 18:42:43 -07:00
Terence Parr e9c83c375f cleanup and refactor conflict detection code into PredictionMode. 2012-10-14 17:37:15 -07:00
Terence Parr 01bbce6952 full LL is always correct now, if slower. Stops prediction when resolvesToJustOneViableAlt(). SLL always uses heuristic 2012-10-14 13:25:34 -07:00
Terence Parr e7ece0e90a got fast prediction termination with exactAmbig option that forces ANTLR to scan ahead until it identifies the true ambiguity. 2012-10-13 18:12:33 -07:00
Terence Parr d6d3f6f506 missing ambig alt in msg. 2012-10-12 18:07:37 -07:00
Terence Parr e69734c501 rm loopsSimulateTailRecursion 2012-10-12 17:49:43 -07:00
Terence Parr 2ecfe2671a size!=cardinality with BitSet. 2012-10-11 20:20:02 -07:00
Terence Parr f20cd82920 I need EOF edges on rule stop states for start rules. 2012-10-11 18:55:13 -07:00
Terence Parr 1723bbd6f5 no debug 2012-10-11 18:54:26 -07:00
Terence Parr 6654281aab Merge branch 'master' into new-conflicting-alts 2012-10-11 18:52:22 -07:00
Terence Parr 27a8e5e521 update comment on consume() 2012-10-11 18:51:58 -07:00
Terence Parr 643edf0263 let it consume EOF since we sometimes need to match that during prediction 2012-10-11 18:50:02 -07:00
Terence Parr badb48a987 almost there. 2012-10-11 18:47:47 -07:00
Terence Parr 058ed51349 initial impl 2012-10-11 13:09:08 -07:00
Terence Parr ad438a70ac updated the comments for SLL. 2012-10-11 12:09:38 -07:00
Terence Parr ebe633a2cc replace ctor for single ctx and don't merge wildcards when payloads aren't the same. fixes a unit test. 2012-10-08 15:26:56 -07:00
Terence Parr 7bc16f40ea Merge branch 'prediction-context-fixes' of git://github.com/sharwell/antlr4 2012-10-08 11:37:29 -07:00
Terence Parr d274650765 add null ptr so start rule it doesn't crash if you label the alternatives. 2012-10-08 11:32:38 -07:00
Sam Harwell 9cea095d81 Fix PredictionContext.mergeRoot placing states in the wrong order 2012-10-08 10:26:48 -05:00
Sam Harwell f43e3614a8 Fix invoking states for recursion contexts 2012-10-08 07:38:06 -05:00
Sam Harwell 1defbdcc5d Fix parent pointers in parse trees for nested recursion contexts 2012-10-07 23:01:26 -05:00
Terence Parr 05f1dc0d26 tweak 2012-10-01 16:09:18 -07:00
Sam Harwell 69c20f3cf6 Only perform array copy when necessary 2012-10-01 15:30:28 -05:00
Sam Harwell 3457cc73ea Significant updates to UnbufferedCharStream to meet the IntStream and CharStream interface requirements 2012-10-01 15:29:51 -05:00
Sam Harwell cd25890486 Many updates to UnbufferedTokenStream:
* Fix LT(-1) after a seek operation
* Prevent consume() after EOF is reached
* Use the EOF token provided by the TokenSource (no need to create a new one)
* Fix assigned token index when marks are in place and when add() is called by derived types
* Throw exception for some invalid use of mark/release/seek
* Prevent fill() from adding multiple EOF tokens
* Remove diagnostic println
* Updated field documentation
* Implement getTokenSource
2012-10-01 15:24:00 -05:00
Sam Harwell 5637a04eec Extensively document the IntStream, CharStream, and TokenStream interfaces 2012-10-01 14:52:30 -05:00
Sam Harwell fa3e6e5867 Move CharStream.EOF to IntStream.EOF 2012-10-01 14:09:11 -05:00
Sam Harwell fa7015f798 Move test helper methods out of exposed UnbufferedCharStream API 2012-10-01 11:53:04 -05:00
Sam Harwell 1c65bcd02f Move test helper methods out of exposed UnbufferedTokenStream API 2012-10-01 08:25:46 -05:00
Terence Parr 68dd847c04 * Fixed the unbuffered streams, which actually buffered everything
up by mistake. tweaked a few comments.

* Added a getter to IntStream for the token factory
2012-09-30 16:45:30 -07:00
Terence Parr 9845e4ff20 rm redundant field. 2012-09-30 12:46:01 -07:00
Terence Parr ac29e6cdac got unbufferedchar working I think. 2012-09-30 12:37:35 -07:00
Terence Parr db1bfa9c03 ParserATNSimulator wasn't using Token type param. 2012-09-29 16:58:51 -07:00
Terence Parr b56cd0f587 simplified delete configs algorithm. 2012-09-29 12:48:20 -07:00
Terence Parr e78ecd418a rm isGreedy from DecisionState, but allow ATN construction for lexer to be nongreedy. error if '.' in parser. rm unit tests for parser nongreedy 2012-09-29 12:33:00 -07:00
Terence Parr c8a51ccfad got wildcard working properly with recursion now!!! new unit test. 2012-09-27 12:22:16 -07:00
Terence Parr 19782e6d77 first wack at fixing nongreedy (ACTION | .)* for recursive rules. 2012-09-27 11:44:51 -07:00
Terence Parr bca63c64aa the test rig did not allow lexer only grammars; a regression. 2012-09-23 18:05:31 -07:00
Terence Parr 262a331a5b recursive rule bug in lexer; the lexer ATN simulator was not checking for empty stack at rule stop states. 2012-09-23 18:04:46 -07:00
Sam Harwell 7ed6cdcc4b TerminalNodeImpl.getSourceInterval didn't fulfill the contract of SyntaxTree.getSourceInterval 2012-09-22 20:10:01 -05:00
Sam Harwell 62e005c841 Add nb-configuration.xml files 2012-09-22 19:49:11 -05:00
Terence Parr 4abedb08dd tweak comments 2012-09-22 12:29:22 -07:00
Terence Parr ce38d61f3a Merge branch 'flexiblehashmap' of github.com:sharwell/antlr4 2012-09-16 15:11:29 -07:00
Sam Harwell 1ce6b69651 Fix build warnings in FlexibleHashMap, reduce entry size 2012-09-16 13:44:34 -05:00
Sam Harwell e9656e35f9 Fix codegen problem where notset and wildcard transitions could match invalid tokens and/or EOF 2012-09-16 12:56:10 -05:00
Terence Parr aa2d893a77 got first draft of new "go/stop" algorithm. 2012-09-09 19:20:33 -07:00
Terence Parr 89656989e6 add new map that lets me specify hashCode/equals 2012-09-09 18:55:47 -07:00
Terence Parr 3c5dec1172 add large comment describing the decision rule for continuing analysis. 2012-09-09 17:56:42 -07:00
Terence Parr 4bbbff4e8e comments and a rename 2012-09-08 15:23:33 -07:00
Terence Parr 0a961645be fix comments; fix unit test 2012-09-08 13:13:00 -07:00