Sam Harwell
cacd317d02
Implement support for defining custom channels in the channels{} construct in lexer grammars ( fixes #309 )
2014-09-01 13:28:08 -05:00
Sam Harwell
6790b25e5b
Support zero-length tokens in the lexer ( fixes #688 )
2014-08-28 23:45:07 -05:00
Sam Harwell
b62408067e
Update precedence filter to properly handle stepping out of left-recursive rules ( fixes #679 )
2014-08-28 23:21:32 -05:00
Terence Parr
70dd5227c1
prepare for changes beyond 4.4
2014-07-16 19:45:59 -07:00
Terence Parr
775aaa6494
got javadoc DOT images in; updated font names to avoid warnings
2014-07-02 19:10:36 -07:00
Terence Parr
2bcf5c6b63
use 1.6 to compile
2014-07-02 12:19:21 -07:00
Terence Parr
2e352e2697
add unit tests for -o and -lib; improve BaseTest: refactor writeFile to Utils. -o options and others not accepted by antlr().
2014-06-29 12:21:39 -05:00
Terence Parr
31aa7bf5c9
Re-factor loading profile in the streams so that I can reuse that load elsewhere. handy function.
2014-06-29 12:03:29 -05:00
Sam Harwell
91206869c5
Prepare for next development iteration
2014-06-28 22:40:33 -05:00
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
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