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
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
Sam Harwell
8c92df27c6
Fix javadoc issues
2013-01-02 06:55:38 -06:00
Sam Harwell
131c26edc0
Add @NotNull annotation
2013-01-02 06:41:24 -06:00
Sam Harwell
673dce5664
Add private constructor for Trees
2013-01-02 06:41:23 -06:00
Sam Harwell
8839d6b185
Remove unused/commented methods
2013-01-02 06:41:22 -06:00