Commit Graph

1521 Commits

Author SHA1 Message Date
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
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