Commit Graph

1493 Commits

Author SHA1 Message Date
Sam Harwell 7e2bf4a2d5 [maven-release-plugin] prepare for next development iteration 2014-04-06 21:19:40 -05:00
Sam Harwell 736a5f5905 [maven-release-plugin] prepare release 4.2.2 2014-04-06 21:18:12 -05:00
Sam Harwell faf011ce8a Updated documentation for ParserATNSimulator.getConflictingAlts (fixes #528) 2014-04-06 16:51:34 -05:00
Sam Harwell d209bd0ef0 Remove comment that was only meant for testing 2014-04-06 16:34:32 -05:00
Sam Harwell b175d7b223 Merge pull request #537 from sharwell/multiple-eof
Multiple EOF
2014-04-06 16:29:24 -05:00
Sam Harwell fb66202820 Improved documentation for Transition.isEpsilon 2014-04-06 16:27:09 -05:00
Sam Harwell f233f6eaae Fix build warning due to use of generics 2014-04-06 16:27:09 -05:00
Sam Harwell f9e9a6ab38 Fix handling of multiple EOF symbols in parser rules 2014-04-06 16:25:14 -05:00
Terence Parr 14f446f3f8 Update the comment to reflect the new method I put it on. 2014-04-02 09:56:19 -07:00
Terence Parr da9186ed63 Merge pull request #134 from parrt/eval-preds-when-delaying-errors
When delaying error reporting because prediction escapes the decision en...
2014-04-02 09:41:09 -07:00
Terence Parr 8f000d273d If there is no syntactically and semantically valid alternative that reaches the end of the decision entry rule upon no viable alt, choose the first alternative that is syntactically valid but semantically invalid. Refactor into separate method for clarity. 2014-04-02 09:38:26 -07:00
Terence Parr 9652d0059c add Sam's comment. 2014-04-02 08:26:38 -07:00
Sam Harwell bbbf5e34db Treat EOF transitions in the ATN as epsilon transitions after the first EOF transition is traversed 2014-04-01 21:03:07 -05:00
Terence Parr 69d4b423e1 When delaying error reporting because prediction escapes the decision entry rule, we should evaluate predicates to turn off any configurations that are invalid semantically. After that, we can collect the list of alternatives that are satisfied with the input thus far and then choose the minimum as before. Fixes #529 2014-04-01 16:49:30 -07:00
Sam Harwell c0d158294a Implement hashCode, equals, and toString for Pair and Triple 2014-03-29 13:19:40 -05:00
Sam Harwell 5be18445cd [maven-release-plugin] prepare for next development iteration 2014-03-25 10:57:46 -05:00
Sam Harwell 943aaa5d24 [maven-release-plugin] prepare release 4.2.1 2014-03-25 10:57:44 -05:00
Terence Parr dcd338cfec Merge pull request #504 from sharwell/update-xpathlexer
Update xpathlexer
2014-03-23 11:26:35 -07:00
Terence Parr e66f663618 Merge pull request #503 from sharwell/fix-469
Fix 469
2014-03-23 11:25:59 -07:00
Sam Harwell 336a1197e8 Add a comment describing a possible future optimization to applyPrecedenceFilter 2014-03-23 11:34:38 -05:00
Sam Harwell 10558a7bea Make sure to consider context for the SLL precedence filter (fixes #509) 2014-03-23 11:34:37 -05:00
Sam Harwell 470863dcd0 Update the runtime to build XPathLexer with ANTLR 4.2 2014-03-20 09:32:42 -05:00
Sam Harwell bc646df824 Add missing @Nullable annotations 2014-03-20 09:25:59 -05:00
Sam Harwell 27270fdd05 Properly encapsulate LexerATNConfig.lexerActionExecutor, and mark as final 2014-03-20 09:25:37 -05:00
Sam Harwell 41e04a27c0 Fix lexerActionExecutor not being preserved when returning from a rule invocation in the lexer (fixes #469) 2014-03-20 09:21:28 -05:00
Sam Harwell 1dde17efea Mark Recognizer.getTokenErrorDisplay as deprecated (fixes #480) 2014-03-20 07:19:01 -05:00
Sam Harwell c35b59d3b8 Increment current while adding a collection to IntegerList (fixes #474) 2014-03-01 15:49:29 -06:00
Sam Harwell 72a65093e0 Return the correct tree when starting parser interpreter at an LR rule (fixes #461) 2014-02-06 20:53:20 -06:00
Sam Harwell 06ab99d16d [maven-release-plugin] prepare for next development iteration 2014-02-04 17:19:12 -06:00
Sam Harwell 5e05b71e8b [maven-release-plugin] prepare release 4.2 2014-02-04 17:19:11 -06:00
Sam Harwell 67b6415659 Fix ParseTreePatternMatcher.compile allowing invalid syntax 2014-02-03 19:43:36 -06:00
Sam Harwell bf63d5afb9 Remove unused import 2014-02-03 19:35:53 -06:00
Sam Harwell 2730781c98 Fix documentation problems 2014-02-03 19:35:31 -06:00
Sam Harwell daf793b1c1 ParserInterpreter handles RecognitionException in the same way as the generated code 2014-01-26 12:50:55 -06:00
Sam Harwell ddbd7086b8 ParserInterpreter calls sync before adaptivePredict 2014-01-26 12:50:55 -06:00
Sam Harwell dc1926cfe3 Fix encoding of -1 (EOF) in serialized lexer actions (fixes #449) 2014-01-24 14:42:53 -06:00
Sam Harwell b35f46d93c Create a shaded runtime artifact (includes runtime, annotations, and treelayout) 2014-01-23 22:28:58 -06:00
Sam Harwell 501317e14b Include documentation from antlr4-annotations in the antlr4-runtime javadoc build 2014-01-23 13:40:03 -06:00
Terence Parr 3e45c4bc04 Merge pull request #443 from sharwell/consume-opt
Use the fetchedEOF field to often avoid an expensive LA(1) operation in consume
2014-01-23 10:06:18 -08:00
Sam Harwell 233a43f713 Use the fetchedEOF field to often avoid an expensive LA(1) operation in BufferedTokenStream.consume 2014-01-23 11:46:56 -06:00
Sam Harwell cc045fbaf3 Improve CommonToken cloning performance, and update documentation 2014-01-23 07:23:55 -06:00
Sam Harwell e116ad14ca Added missing NotNull and Nullable annotations, and fix a case where it wasn't followed 2014-01-23 07:18:31 -06:00
Sam Harwell 2f54b3554b Mark field PredictionContextCache.cache final 2014-01-23 07:18:09 -06:00
Sam Harwell 970ad8c526 Remove unused field SemanticContext.parent 2014-01-23 07:17:59 -06:00
Sam Harwell 416a92ef02 No need to run dot when compiling antlr4-annotations 2014-01-23 07:16:57 -06:00
Sam Harwell 32ab1a4d03 Updated documentation for CommonToken and CommonTokenStream 2014-01-23 07:12:53 -06:00
Sam Harwell 77342c2256 Added links to documentation 2014-01-23 07:12:53 -06:00
Sam Harwell 0949ff8249 Updated some wording in the documentation 2014-01-23 07:12:52 -06:00
Sam Harwell 58cc8f28d7 Added links to documentation 2014-01-23 07:12:52 -06:00
Sam Harwell aba1178c49 Formatted documentation 2014-01-23 07:12:42 -06:00
Sam Harwell d5b269b6b6 Updated documentation 2014-01-22 21:30:26 -06:00
Sam Harwell 608c6a8a3a Update several usages of @NotNull and @Nullable based on warnings from NullUsageProcessor 2014-01-21 21:08:11 -06:00
Sam Harwell d917ad46f7 Fix error count limiting in NullUsageProcessor 2014-01-21 21:06:57 -06:00
Sam Harwell 0454916a70 Updated documentation for NotNull and Nullable 2014-01-21 15:24:57 -06:00
Sam Harwell 07708d9223 Limit the number of errors reported for a single method or parameter 2014-01-21 14:40:25 -06:00
Sam Harwell 49f12fd28d Add note about potential future features 2014-01-21 14:38:33 -06:00
Sam Harwell 4bc593b20b Improved error reporting 2014-01-21 14:37:59 -06:00
Sam Harwell 37f83c6537 Add warning for potentially incorrect NotNull or Nullable annotations on derived methods and parameters 2014-01-21 14:37:19 -06:00
Sam Harwell c1125fe474 Add check for erroneous overriding NotNull and Nullable annotations 2014-01-21 14:36:25 -06:00
Sam Harwell e253954bcf Check for NotNull and Nullable annotations on primitive types 2014-01-21 14:35:27 -06:00
Sam Harwell 2647856226 Error if a void method is annotated with NotNull or Nullable 2014-01-21 14:34:38 -06:00
Sam Harwell e472cc4e23 Error if an element is annotated with both NotNull and Nullable 2014-01-21 14:33:38 -06:00
Sam Harwell f8dbe1b68f Initial annotation processor for NotNull and Nullable annotations 2014-01-21 14:32:11 -06:00
Sam Harwell 937c627b16 Move NotNull and Nullable annotations to their own artifact 2014-01-21 14:31:29 -06:00
Sam Harwell eb3b84fa7d Improved formatting of PredictionContext reference hash code algorithm 2014-01-19 22:06:25 -06:00
Sam Harwell 8d37254859 Allow customizing the path to dot (GraphViz) 2014-01-19 21:33:05 -06:00
Sam Harwell f544da5f93 Fix label color for arrows in PredictionContext graphics 2014-01-19 21:32:42 -06:00
Sam Harwell 4507c1a270 Fix many errors reported by -Xdoclint 2014-01-19 21:03:07 -06:00
Sam Harwell a55901bc0d We are working on the 4.2 release 2014-01-19 13:43:57 -06:00
Sam Harwell 214b715107 Restrict lexer action execution to actions defined in the root lexer rule that matches a token 2014-01-18 16:06:12 -06:00
Sam Harwell b3d3235614 Updated documentation for behavior of AbstractParseTreeVisitor.visitChildren (see #304) 2014-01-16 16:09:58 -06:00
Sam Harwell 77fce95c22 Fix XPath implementation throwing exception 2014-01-16 15:47:34 -06:00
Sam Harwell 657d496d71 Prevent XPath from returning the same node multiple times (fixes #370) 2014-01-15 14:32:34 -06:00
Terence Parr 3c51f7ad7b Add tests for ungrammatical tree patterns. Fixes #413 2014-01-15 11:15:31 -08:00
Sam Harwell 224bb0e9c0 Actually support all supported legacy ATN UUIDs (fixes #410) 2014-01-15 07:55:07 -06:00
Sam Harwell 5e9b869f1d Updated lexer to support encoding commands in the ATN and interpreting them with LexerInterpreter 2014-01-14 20:17:37 -06:00
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