Commit Graph

1484 Commits

Author SHA1 Message Date
Sam Harwell 6949e832d9 Updated comments to clarify recent changes in code 2014-06-18 19:12:26 -05:00
Sam Harwell 2be522f009 Relax the default version mismatch listener to only throw an exception if the major or minor version components do not match 2014-06-18 17:41:28 -05:00
Sam Harwell f7a840c764 Move RuntimeMetaData.VERSION field to the top of the source file 2014-06-18 17:07:43 -05:00
Sam Harwell 8809cc4950 Fix documentation errors reported during the build 2014-06-17 06:35:11 -05:00
Terence Parr 91752af88d Merge pull request #623 from parrt/fix-set-subtract
getMinElement now supports values < 0.  Checked and shouldn't affect any...
2014-06-16 12:41:50 -07:00
Sam Harwell 2920ad0d1a * Updated documentation for IntSet
* Reimplemented IntervalSet.subtract and IntervalSet.complement to operate over the complete range of supported values
* Expanded several methods in IntervalSet to operate on any IntSet
* Mark COMPLETE_CHAR_SET and EMPTY_SET as read-only
2014-06-16 14:23:52 -05:00
Terence Parr 8f08802716 Merge pull request #626 from sharwell/fix-622
Fix edge case behavior of nextTokenOnChannel and previousTokenOnChannel
2014-06-16 09:59:51 -07:00
Sam Harwell e311ec63b4 Fix edge case behavior of nextTokenOnChannel and previousTokenOnChannel (fixes #622, fixes #544) 2014-06-16 11:39:16 -05:00
Sam Harwell 3574cbd94b Add an additional note about the relation between reportContextSensitivity and reportAmbiguity 2014-06-16 00:01:42 -05:00
Sam Harwell 64b6408e4a Update documentation for ANTLRErrorListener (fixes #603) 2014-06-15 23:56:50 -05:00
Terence Parr 51430018d0 getMinElement now supports values < 0. Checked and shouldn't affect any uses. subtract() from set with EOF, wiped out all negative values. added tests. 2014-06-14 13:14:32 -07:00
Terence Parr 358a1025d2 tweaks per Sam's comments. Just pushing straight to master. 2014-06-10 11:28:43 -07:00
Terence Parr cc36281ce2 new definition of context sensitivity required change in test code. Updated profiler per Sam's comments. 2014-06-03 22:04:02 -07:00
Terence Parr eeac7bc1c8 Merge branch 'master' into accurate-ctx-sensitive-check 2014-06-03 21:51:56 -07:00
Terence Parr 40294f2270 go to 4.3 not 4.2.3 2014-06-03 21:48:03 -07:00
Terence Parr 015b9c900e Merge branch 'master' into accurate-ctx-sensitive-check 2014-06-03 21:40:07 -07:00
Terence Parr 8d17f43f57 Merge pull request #601 from sharwell/versioning-docs
Versioning updates and documentation
2014-06-03 21:39:11 -07:00
Sam Harwell b8be9aadd1 * Alter the default version mismatch behavior to throw an exception instead of write a message to System.err
* Ensure that DefaultListener is always the last listener notified (since it throws an exception)
* Update the checkVersion documentation to more clearly describe the scenarios for which version mismatches are detected
2014-06-03 22:10:55 -05:00
Terence Parr feb86e8d9b track context-sensitive phrases in ambiguity reporting. 2014-06-03 19:20:16 -07:00
Sam Harwell 80125d661e * Redefine checkVersion as version mismatch detection instead of a compatibility check
* Update notification behavior to notify callback listeners instead of throwing an exception
* Remove the distinction between regular and "extended" semantics
2014-06-03 18:31:52 -05:00
Terence Parr 4e84fa2824 tweak to comment 2014-06-02 21:30:12 -07:00
Terence Parr a87d3acedd Merge pull request #597 from parrt/track-all-preds
Track all preds
2014-06-02 21:21:36 -07:00
Sam Harwell e4e1cb1845 Updated the documentation and improved the flexibility for future use of RuntimeMetaData.checkVersion 2014-06-02 23:06:58 -05:00
Sam Harwell 2a25ec2fa4 Use tabs, add missing license header 2014-06-02 22:24:05 -05:00
Sam Harwell 5e93d5f7b7 Avoid creating PredicateEvalInfo events for precedence predicates 2014-06-02 20:59:31 -05:00
Sam Harwell 244c8ee0c7 Updated documentation 2014-06-02 20:59:11 -05:00
Terence Parr 3bab338ba4 change comment to be accurate with code. 2014-06-02 18:39:45 -07:00
Sam Harwell 8e6820ac60 Tweaks 2014-06-02 20:22:42 -05:00
Terence Parr 982b70fbfd reportAttemptingFullContext didn't get conflicting alts unless decision had predicates. 2014-06-02 18:02:17 -07:00
Terence Parr dba3aaf740 track all predicates, make new method that is called for all preds. 2014-06-02 19:50:39 -05:00
Sam Harwell be16c71e56 Merge pull request #583 from sharwell/atn-profiler
Atn profiler
2014-06-01 22:30:39 -05:00
Terence Parr 68b186e77d Add utility methods and track token indexes through the left recursive rule transformation to allow external tools to associate ATN states and transitions with original locations in the grammar source file 2014-06-01 22:30:33 -05:00
Terence Parr d5aba146f0 Remove unnecessary call to input.index() 2014-06-01 22:28:57 -05:00
Terence Parr fb49d7c6a2 initial profiler 2014-06-01 22:15:12 -05:00
Terence Parr aa9bceaa7b Merge pull request #587 from sharwell/getoperands
Add the SemanticContext.Operator interface
2014-05-31 16:48:54 -07:00
Sam Harwell 31f3c2eb5b Add the SemanticContext.Operator base class to provide consistent API access to the operands of AND and OR contexts 2014-05-31 18:48:38 -05:00
Terence Parr 63fb71cc9f Merge pull request #586 from sharwell/getalts
Add utility method ATNConfigSet.getAlts
2014-05-31 16:48:29 -07:00
Sam Harwell 27ce016d3d Add utility method ATNConfigSet.getAlts 2014-05-31 18:20:06 -05:00
Sam Harwell ab7319ab15 Add ATNSimulator.clearDFA, and implement for LexerATNSimulator and ParserATNSimulator 2014-05-31 18:11:38 -05:00
Terence Parr 6500b26c14 get good message 2014-05-28 18:01:05 -07:00
Terence Parr 2d8ffee5e2 damn intellij/git always loses changes but just with antlr repo. DAMN! commiting last files manually 2014-05-28 17:56:43 -07:00
Terence Parr a3d4ba53a3 add tool-template and generatedcode-runtime version compatibility check. Target authors add a VERSION template and supply a RuntimeMetaData.checkVersion() method. 2014-05-19 17:25:01 -07: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
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 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 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
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 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 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 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 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
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 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 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