Commit Graph

1429 Commits

Author SHA1 Message Date
Terence Parr 4acb1091de refactor for reuse, make target check majorminor only. 2014-06-28 14:55:34 -07:00
Sam Harwell 7d88b0106a [maven-release-plugin] prepare for next development iteration 2014-06-18 21:25:44 -05:00
Sam Harwell 201eeb147d [maven-release-plugin] prepare release 4.3 2014-06-18 21:24:24 -05:00
Sam Harwell bbac283ba2 Add @since documentation to key new exposed API types/methods 2014-06-18 19:48:07 -05:00
Sam Harwell a72058bc67 Update dependency versions 2014-06-18 19:37:30 -05:00
Sam Harwell 3378be9c79 Update all version numbers for consistency prior to the 4.3 release 2014-06-18 19:37:29 -05:00
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 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 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 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