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