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
Sam Harwell
112810db28
Documentation updates
2013-01-02 06:41:20 -06:00
Sam Harwell
5d390b4a90
Need to shutdown the ExecutorService or the application will stay open
2012-12-29 00:16:59 -06:00
Terence Parr
29fd6a0c16
improved javadoc output
2012-12-24 12:13:31 -08:00
Sam Harwell
b7e5cbd7f5
Use Arrays.copyOf
2012-12-20 16:55:56 -06:00
Sam Harwell
1894017eb7
Switch on result of getStateType
2012-12-20 16:55:18 -06:00
Sam Harwell
f3f8b425c3
Reference IntStream.EOF directly
2012-12-20 16:55:16 -06:00
Sam Harwell
6a5f609797
Add Utils.waitForClose
2012-12-18 18:15:21 -06:00
Sam Harwell
62531d2ea1
RuleContext.inspect returns Future<JDialog> to provide the created dialog
2012-12-18 18:15:06 -06:00
Sam Harwell
3b82dd9e24
inspect and save work with a list of rule names (no need to pass the Parser instance)
2012-12-18 18:13:32 -06:00
Sam Harwell
50822b6ca5
Updated NetBeans configuration
2012-12-18 17:59:01 -06:00
Sam Harwell
29be5523ff
Update documentation
2012-12-17 22:09:52 -06:00
Sam Harwell
068075f1c4
Fix usage of BufferedTokenStream: cannot consume EOF
2012-12-17 22:09:50 -06:00
Sam Harwell
4832425848
Update BufferedTokenStream implementation to match IntStream interface: consume throws IllegalStateException if LA(1)==EOF
2012-12-17 22:09:47 -06:00
Sam Harwell
a64cdc8e2d
Make sure reportAttemptingFullContext occurs with input index at the expected location
2012-12-17 13:57:17 -06:00
Sam Harwell
9ec75650e3
Optimize ATNState.getStateType
2012-12-17 13:20:47 -06:00
Sam Harwell
225cd78d50
Update code formatting for easier debugging
2012-12-15 12:09:03 -06:00
Sam Harwell
9a8d0f06f7
Implement Array2DHashSet.retainAll and Array2DHashSet.removeAll
2012-12-15 12:09:01 -06:00
Sam Harwell
aea4c89c04
Update documentation and comments
2012-12-15 12:09:00 -06:00
Sam Harwell
0b71671cda
Optimized Array2DHashSet.expand
2012-12-15 12:08:58 -06:00
Sam Harwell
e37f5d2c20
Need to resize array if the one provided doesn't have enough room
2012-12-15 12:08:57 -06:00
Sam Harwell
01893f9678
Make sure to set last bucket to null after remove or you could have a memory leak
2012-12-15 12:08:55 -06:00
Sam Harwell
4e1473a6f0
Mark some methods final, remove unnecessary check for null
2012-12-15 12:08:53 -06:00
Sam Harwell
431cdbeb45
Call containsFast directly to avoid an IDE warning about calling contains with an unexpected object type
2012-12-15 12:08:51 -06:00
Sam Harwell
83483a7a49
Add containsFast and removeFast to avoid a type check when you already have an instance of T
2012-12-15 12:08:49 -06:00
Sam Harwell
c157801296
Add Array2DHashSet.asElementType for casts from Object to T
2012-12-15 12:08:48 -06:00
Sam Harwell
c654c1b428
Improved generics usage in Array2DHashSet
2012-12-15 12:08:46 -06:00
Sam Harwell
fd62c583da
ATNConfigSet.toArray returns ATNConfig[]
2012-12-15 12:08:44 -06:00
Sam Harwell
b2c119002c
Extract anonymous class to SetIterator inner class
2012-12-15 12:08:42 -06:00
Sam Harwell
e259cea426
Array2DHashSet.toArray returns T[]
2012-12-15 12:08:41 -06:00
Sam Harwell
f77cf59dbf
Add Array2DHashSet.createBucket (returns T[]) and createBuckets (returns T[][])
2012-12-15 12:08:39 -06:00
Sam Harwell
36800289a2
Rename absorb to getOrAdd
2012-12-15 12:08:37 -06:00
Sam Harwell
5d238a22c7
equals should check the argument type before attempting a cast
2012-12-15 12:08:35 -06:00
Sam Harwell
076a2dcbb9
Remove expensive method that's no longer needed
2012-12-15 12:08:34 -06:00
Sam Harwell
c99703e150
Remove call to hashCode that was slowing down equals
2012-12-15 12:08:32 -06:00
Sam Harwell
c009c5081d
Add AbstractConfigHashSet to consolidate default constructor parameters
2012-12-15 12:08:30 -06:00
Sam Harwell
0504334d08
Add missing @Override annotations
2012-12-14 09:42:02 -06:00
Sam Harwell
05b0f645ef
Reduce and/or operations on multiple precedence predicates to a single predicate
2012-12-12 09:46:05 -06:00
Sam Harwell
c0668a9cae
Merge remote-tracking branch 'antlr/master' into precedence-predicates
2012-12-12 09:42:17 -06:00
Sam Harwell
9b75ea79f9
Automatically reduce SemanticContext.AND/SemanticContext.OR with a single operand to the operand itself
2012-12-12 09:35:54 -06:00
Sam Harwell
e5e4402ea9
Merge remote branch 'sharwell/array-opt' with master
2012-12-12 09:28:55 -06:00
Sam Harwell
0e91700678
Stronger argument checks for ATN state and transition factory methods
2012-12-07 11:16:04 -06:00
Sam Harwell
8df31df66c
Add int RuleTransition.precedence
2012-12-06 13:56:12 -06:00
Sam Harwell
c556b821f6
Add boolean RuleStartState.isPrecedenceRule
2012-12-06 13:56:11 -06:00
Sam Harwell
c44ae39ae5
Evaluate precedence predicates using a special PrecedencePredicateTransition
2012-12-06 13:56:03 -06:00
Sam Harwell
9d3c763470
Add ATNSimulator.SERIALIZED_VERSION, resolved antlr/antlr4#95
2012-12-06 13:07:32 -06:00
Sam Harwell
64a4114850
Make debug fields compile-time constants to improve release runtime performance
2012-12-06 13:07:29 -06:00
Sam Harwell
886baaf773
Use separate lists in the serialized ATN for non-greedy states (cleaner, allows ATNs with twice as many states), resolves antlr/antlr4#96
2012-12-06 13:07:11 -06:00
Sam Harwell
b2ab7ab5ac
Rename master artifact to antlr4-master
2012-12-04 12:57:56 -06:00
Sam Harwell
380d3dadde
Create a ParseTreeVisitor interface, rename current abstract base class to AbstractParseTreeVisitor
2012-12-02 17:57:28 -06:00
Terence Parr
cda9afdf55
update license everywhere.
2012-12-02 12:58:02 -08:00
Terence Parr
9e3907d573
tokens now have token and char source to draw from. fix and close antlr/antlr4#88
2012-12-01 17:23:50 -08:00
Terence Parr
fc79752748
Merge branch 'master' of github.com:antlr/antlr4
2012-12-01 14:38:33 -08:00
Terence Parr
7049972ab7
escape [\r\n\t] in lexical error messages. Fixes antlr/antlr4#75
2012-12-01 14:36:59 -08:00
Sam Harwell
8a3298e075
Configure the maven-compiler-plugin in the parent POM, including the use of a bootstrap classpath to build a Java 6-compatible jar even when Java 7 is used to build it
2012-11-30 12:28:39 -06:00
Sam Harwell
af76d3294e
Configure the maven-source-plugin and maven-javadoc-plugin in the parent POM
2012-11-30 12:26:25 -06:00
Sam Harwell
f264609453
Updated POMs for deploying to sonotype
2012-11-27 23:34:36 -06:00
Sam Harwell
d68f75067d
Updated library and plugin references
2012-11-26 20:24:35 -06:00
Sam Harwell
5b4809deb6
Include source and javadoc jars in maven builds
2012-11-26 20:21:38 -06:00
Sam Harwell
769e0a418e
Updated javadoc
2012-11-26 20:19:09 -06:00
Sam Harwell
6369097630
Remove unnecessary dependency on ST4
2012-11-26 20:14:58 -06:00
Sam Harwell
90f4452dc4
Remove unused method TerminalNodeImpl.isErrorNode
2012-11-26 09:16:30 -06:00
Sam Harwell
6421e312a4
Remove the RuleContext.hashCode, equals, conflictsWith, and suffix methods since they produce unexpected behavior for ParserRuleContext and are no longer used for adaptivePredict
2012-11-26 02:24:16 -06:00
Sam Harwell
cd5192dd1a
Remove inherited and default properties from POMs
2012-11-23 13:46:13 -06:00
Sam Harwell
85f01bcce2
Updated module display names in POMs
2012-11-23 13:37:36 -06:00
Sam Harwell
121044d3b9
Remove inherited property from POMs
2012-11-23 13:36:27 -06:00
Sam Harwell
94803fa9f7
Specify parent POMs
2012-11-23 13:28:52 -06:00
Sam Harwell
f3ca54d350
Separate the EqualityComparator interface from the Set and Map implementations that need it
2012-11-21 19:30:41 -06:00
Sam Harwell
094f40c961
Remove unused field
2012-11-21 17:13:20 -06:00
Terence Parr
fc7977e0d9
rename method
2012-11-20 15:09:27 -08:00
Sam Harwell
aba4034051
Evaluate preds in SLL before falling back to full context, avoid full context prediction if unique alternative results
2012-11-18 14:16:28 -06:00
Sam Harwell
691532190c
Extract method ParserATNSimulator.predicateDFAState
2012-11-18 14:15:16 -06:00
Terence Parr
e366f00820
small improvement in error msg
2012-11-17 16:09:12 -08:00
Terence Parr
a438c11734
Merge branch 'visitors' of git://github.com/sharwell/antlr4
2012-11-15 13:00:48 -08:00
Terence Parr
ab5c9ede09
Merge branch 'set-interpreter' of git://github.com/sharwell/antlr4
2012-11-15 12:58:50 -08:00
Terence Parr
a69ccb3c70
Merge branch 'token-stream-bugs' of git://github.com/sharwell/antlr4
2012-11-15 12:55:32 -08:00
Terence Parr
b83a6bbeb0
Merge branch 'recognizer-local-state' of github.com:sharwell/antlr4
2012-11-14 17:07:42 -08:00
Terence Parr
e1c8957192
rm two a.equals(a) bugs
2012-11-14 16:59:15 -08:00
Sam Harwell
18f5354d1b
Merge branch 'master' into token-stream-bugs
2012-11-14 15:07:33 -06:00
Sam Harwell
3a7a4907aa
Merge branch 'master' into set-interpreter
2012-11-14 14:45:50 -06:00
Sam Harwell
92ae0f0fa6
Merge branch 'recognizer-local-state'
2012-11-14 14:40:56 -06:00
Sam Harwell
d66962e860
Make ParseTreeVisitor more extensible, updated documentation
2012-11-14 13:07:02 -06:00
Terence Parr
61ed3bc019
Revert "Simplify Parser.getExpectedTokens and DefaultErrorStrategy.getErrorRecoverySet"
...
This reverts commit d33172dce5
.
2012-11-04 17:02:41 -08:00
Terence Parr
e5c2dfaac4
Kill box in tree dialog box makes dialog dispose of itself
2012-11-04 15:47:00 -08:00
Sam Harwell
d33172dce5
Simplify Parser.getExpectedTokens and DefaultErrorStrategy.getErrorRecoverySet
2012-11-04 13:35:10 -06:00
Sam Harwell
a70479ad0c
Fix ParserATNSimulator handling of EOF and rule stop states
2012-11-04 13:35:09 -06:00
Sam Harwell
68b9798d6f
LL1Analyzer adds EOF to expected tokens set if closure reaches end of start rule.
2012-11-04 13:35:09 -06:00
Sam Harwell
b917c01bba
Fix lexer error recovery could try to consume EOF
2012-11-04 11:30:03 -06:00
Terence Parr
0c3ce2860e
Merge branch 'lexer-eof' of github.com:sharwell/antlr4
2012-11-03 17:52:27 -07:00
Terence Parr
4480634f13
do exact LL ambigs for -diagnostics
2012-11-03 17:35:57 -07:00
Terence Parr
d1795d205f
Revert "add option -exact-ambiguities to TestRig"
...
This reverts commit 400b58d4a0
.
2012-11-03 17:34:34 -07:00
Terence Parr
400b58d4a0
add option -exact-ambiguities to TestRig
2012-11-03 16:40:23 -07:00
Sam Harwell
28e29e39dc
Remove code to explicitly add EOF transitions to rule stop states with no outgoing edges
2012-11-03 15:47:23 -05:00
Sam Harwell
fbaac8194b
Avoid calling consume() at EOF
2012-11-03 15:47:22 -05:00
Sam Harwell
c9890e8305
Throw IllegalStateException if the user tries to consume EOF
2012-11-03 15:47:22 -05:00
Terence Parr
a9d4aeab71
no ? extends on rule ctx getters.
2012-11-03 08:57:49 -07:00
Sam Harwell
a828b99b59
Pass -Xlint -Xlint:-serial to javac (Maven build of runtime)
2012-11-01 18:11:35 -05:00
Sam Harwell
d220f90d3b
Remove generics from all runtime code which did not use them to provide type safety
2012-11-01 18:07:12 -05:00
Sam Harwell
3470978749
Updated naming conventions since RuleContext stores invoking states but PredictionContext stores return states
2012-11-01 13:47:44 -05:00
Sam Harwell
c2722b127a
Store return states instead of invoking states in PredictionContext instances
2012-11-01 13:35:55 -05:00
Sam Harwell
7bbc6c18be
Remove unchecked casts
2012-11-01 08:58:00 -05:00
Sam Harwell
ca38320d43
Simplify ATNConfigSet.toArray
2012-11-01 08:49:14 -05:00
Sam Harwell
eca9090fce
Remove tracing support from LexerATNSimulator - in process of moving it to dynamic instrumentation to eliminate runtime overhead in production use
2012-11-01 05:35:01 -05:00
Sam Harwell
d748271816
Remove getSpeculativeText since getText works again
2012-10-31 21:52:50 -05:00
Sam Harwell
a4ba562210
LexerATNSimulator adjusts the input position during a speculative predicate evaluation to accurately reflect the state where the predicate appears in the grammar
2012-10-31 21:52:41 -05:00
Sam Harwell
efa9ea7811
Simplify LexerATNSimulator to reduce duplicate code (duplicate instruction executions and duplicated code blocks)
2012-10-30 09:24:03 -05:00
Sam Harwell
bad2751a2c
Add edge suppression for lexer start state - required for left edge predicates
2012-10-30 08:46:42 -05:00
Terence Parr
72c1fc8f6d
tweaks on comments
2012-10-29 12:47:09 -07:00
Sam Harwell
f554a2ed4f
Eliminate debug and dfa_debug overhead in LexerATNSimulator by making them compile-time constants
2012-10-29 13:32:02 -05:00
Sam Harwell
7bf50c8263
LexerATNSimulator uses explicit lower bound for DFAState.edges array
2012-10-29 13:32:02 -05:00
Sam Harwell
1269ce8d4e
Remove 2 field accesses per input character in LexerATNSimulator
2012-10-29 13:32:01 -05:00
Sam Harwell
0deadc688a
Remove unnecessary array indexing operation in execDFA
2012-10-29 13:32:00 -05:00
Sam Harwell
c34f0d6945
Remove duplicate array bounds check
2012-10-29 13:31:59 -05:00
Sam Harwell
afed3ac349
Remove unnecessary null checks
2012-10-29 13:31:58 -05:00
Sam Harwell
d17f919123
Updated NotNull annotations in LexerATNSimulator
2012-10-29 13:31:57 -05:00
Sam Harwell
5dace66921
DFAState.configs cannot be null
2012-10-29 13:31:57 -05:00
Sam Harwell
9873230f55
Correctness for lexer DFA with semantic predicate evaluation only requires suppressing single edges from the DFA
2012-10-29 13:31:56 -05:00
Terence Parr
a115490d5e
Merge branch 'warnings-as-errors' of git://github.com/sharwell/antlr4
2012-10-29 11:27:46 -07:00
Sam Harwell
ee64790739
In lexer, configs which never reached a non-greedy decision state are fully greedy (unordered alternatives, longest match)
2012-10-29 13:14:51 -05:00
Sam Harwell
871db85ecb
Add field DecisionState.nonGreedy, computed in tool and serialized as one bit in the state type field
2012-10-29 13:14:50 -05:00
Sam Harwell
4adef1e455
Output from -atn flag shows the order of outgoing edges from decision states.
2012-10-28 11:17:39 -05:00
Sam Harwell
950f588ac0
Fix implementations: TokenStream interface says getText method returns non-null
2012-10-28 10:04:34 -05:00
Terence Parr
d5341b55af
Merge branch 'encapsulation' of git://github.com/sharwell/antlr4
2012-10-24 12:59:46 -07:00
Terence Parr
b89445e861
Merge branch 'maven-update' of git://github.com/sharwell/antlr4
2012-10-24 12:58:52 -07:00
Terence Parr
cb0f5c0e51
Merge branch 'parsecancellationexception' of git://github.com/sharwell/antlr4
2012-10-24 12:58:26 -07:00
Terence Parr
31c9fc33f1
Merge branch 'ordered-configs' of git://github.com/sharwell/antlr4
2012-10-24 10:51:56 -07:00
Terence Parr
4f918f75bc
Merge branch 'get-reachable-target' of git://github.com/sharwell/antlr4
2012-10-24 10:41:46 -07:00
Sam Harwell
a80a6022ff
Update pom.xml
2012-10-22 12:19:24 -05:00
Sam Harwell
bb44db6397
Create a new ParseCancellationException for BailErrorStrategy. Derived from RuntimeException so existing handlers will still work.
2012-10-22 12:12:39 -05:00
Sam Harwell
36c63db299
Remove redundant casts, encapsulate fields in RecognitionException
2012-10-22 09:52:55 -05:00
Sam Harwell
4790ab76e1
Encapsulate fields in NoViableAltException and LexerNoViableAltException
2012-10-22 09:40:44 -05:00
Sam Harwell
1ae3c0104c
Simplify FailedPredicateException constructors, encapsulate fields
2012-10-22 09:18:29 -05:00
Sam Harwell
12b2c34946
Lexer uses strictly-ordered alternatives within a rule. Simplifies code, increases performance when non-terminal (lexer rules) depth is limited, and actually fixes non-greedy behavior
2012-10-21 22:04:38 -05:00
Terence Parr
ed7d4b1dc1
fail option on predicates work.
2012-10-20 15:57:06 -07:00
Terence Parr
ab6b341942
a few tweaks/comments.
2012-10-20 12:51:36 -07:00
Sam Harwell
52f1d3b6e5
Simplify getReachableTarget
2012-10-16 08:04:42 -05:00
Sam Harwell
1af9b4c338
Simplify and document non-greedy behavior in processAcceptConfigs
2012-10-16 08:01:46 -05:00
Sam Harwell
fb87e4c785
Another fix for non-greedy with closures
2012-10-16 07:53:23 -05:00
Sam Harwell
f9a63b8810
Fix bug in PredictionContext.arrayMerge
2012-10-15 14:57:06 -05:00
Sam Harwell
6fa853c14f
Fixes to LexerATNSimulator.closure, fixes to non-greedy positive closure
2012-10-15 02:01:07 -05:00
Sam Harwell
a40073a8cc
Merge remote-tracking branch 'antlr/master' into non-greedy
2012-10-15 01:58:15 -05:00
Sam Harwell
bbe77782db
Fix state checking in new non-greedy handling
2012-10-15 00:56:25 -05:00
Sam Harwell
aa2223cd6a
Fix assertion in PredictionContext.mergeArrays
2012-10-14 22:40:34 -05:00
Sam Harwell
7c221f13ed
Unify EMPTY_FULL_CTX_INVOKING_STATE and EMPTY_INVOKING_STATE (fixes an array indexing error during closure)
2012-10-14 22:25:11 -05:00
Sam Harwell
025cc6187a
Fix handling of non-greedy blocks in the lexer (uses regex-style non-greedy with unordered alternatives)
2012-10-14 21:46:57 -05:00
Sam Harwell
28b243cda5
BlockEndState links to start state for each block in the ATN (constructed during deserialization)
2012-10-14 21:45:35 -05:00
Sam Harwell
0d30a7a60b
Add ATN representation for non-greedy decisions
2012-10-14 21:45:34 -05:00
Sam Harwell
c68c058280
Implement Array2DHashSet.iterator
2012-10-14 21:45:29 -05:00
Terence Parr
a0ffc84952
Merge branch 'master' into new-conflicting-alts
2012-10-14 18:47:32 -07:00
Terence Parr
327a3a0100
Revert "update comment on consume()"
...
This reverts commit 27a8e5e521
.
2012-10-14 18:46:54 -07:00
Terence Parr
54871d52ff
Revert "let it consume EOF since we sometimes need to match that during prediction"
...
This reverts commit 643edf0263
.
2012-10-14 18:46:43 -07:00
Terence Parr
75a01636d0
got ambiguity reporting set right I think. fixed unit tests to force exact ambig detection.
2012-10-14 18:42:43 -07:00
Terence Parr
e9c83c375f
cleanup and refactor conflict detection code into PredictionMode.
2012-10-14 17:37:15 -07:00
Terence Parr
01bbce6952
full LL is always correct now, if slower. Stops prediction when resolvesToJustOneViableAlt(). SLL always uses heuristic
2012-10-14 13:25:34 -07:00
Terence Parr
e7ece0e90a
got fast prediction termination with exactAmbig option that forces ANTLR to scan ahead until it identifies the true ambiguity.
2012-10-13 18:12:33 -07:00
Terence Parr
d6d3f6f506
missing ambig alt in msg.
2012-10-12 18:07:37 -07:00
Terence Parr
e69734c501
rm loopsSimulateTailRecursion
2012-10-12 17:49:43 -07:00
Terence Parr
2ecfe2671a
size!=cardinality with BitSet.
2012-10-11 20:20:02 -07:00
Terence Parr
f20cd82920
I need EOF edges on rule stop states for start rules.
2012-10-11 18:55:13 -07:00
Terence Parr
1723bbd6f5
no debug
2012-10-11 18:54:26 -07:00
Terence Parr
6654281aab
Merge branch 'master' into new-conflicting-alts
2012-10-11 18:52:22 -07:00
Terence Parr
27a8e5e521
update comment on consume()
2012-10-11 18:51:58 -07:00
Terence Parr
643edf0263
let it consume EOF since we sometimes need to match that during prediction
2012-10-11 18:50:02 -07:00
Terence Parr
badb48a987
almost there.
2012-10-11 18:47:47 -07:00
Terence Parr
058ed51349
initial impl
2012-10-11 13:09:08 -07:00
Terence Parr
ad438a70ac
updated the comments for SLL.
2012-10-11 12:09:38 -07:00
Terence Parr
ebe633a2cc
replace ctor for single ctx and don't merge wildcards when payloads aren't the same. fixes a unit test.
2012-10-08 15:26:56 -07:00
Terence Parr
7bc16f40ea
Merge branch 'prediction-context-fixes' of git://github.com/sharwell/antlr4
2012-10-08 11:37:29 -07:00
Terence Parr
d274650765
add null ptr so start rule it doesn't crash if you label the alternatives.
2012-10-08 11:32:38 -07:00
Sam Harwell
9cea095d81
Fix PredictionContext.mergeRoot placing states in the wrong order
2012-10-08 10:26:48 -05:00
Sam Harwell
f43e3614a8
Fix invoking states for recursion contexts
2012-10-08 07:38:06 -05:00
Sam Harwell
1defbdcc5d
Fix parent pointers in parse trees for nested recursion contexts
2012-10-07 23:01:26 -05:00
Terence Parr
05f1dc0d26
tweak
2012-10-01 16:09:18 -07:00
Sam Harwell
69c20f3cf6
Only perform array copy when necessary
2012-10-01 15:30:28 -05:00
Sam Harwell
3457cc73ea
Significant updates to UnbufferedCharStream to meet the IntStream and CharStream interface requirements
2012-10-01 15:29:51 -05:00
Sam Harwell
cd25890486
Many updates to UnbufferedTokenStream:
...
* Fix LT(-1) after a seek operation
* Prevent consume() after EOF is reached
* Use the EOF token provided by the TokenSource (no need to create a new one)
* Fix assigned token index when marks are in place and when add() is called by derived types
* Throw exception for some invalid use of mark/release/seek
* Prevent fill() from adding multiple EOF tokens
* Remove diagnostic println
* Updated field documentation
* Implement getTokenSource
2012-10-01 15:24:00 -05:00
Sam Harwell
5637a04eec
Extensively document the IntStream, CharStream, and TokenStream interfaces
2012-10-01 14:52:30 -05:00
Sam Harwell
fa3e6e5867
Move CharStream.EOF to IntStream.EOF
2012-10-01 14:09:11 -05:00
Sam Harwell
fa7015f798
Move test helper methods out of exposed UnbufferedCharStream API
2012-10-01 11:53:04 -05:00
Sam Harwell
1c65bcd02f
Move test helper methods out of exposed UnbufferedTokenStream API
2012-10-01 08:25:46 -05:00
Terence Parr
68dd847c04
* Fixed the unbuffered streams, which actually buffered everything
...
up by mistake. tweaked a few comments.
* Added a getter to IntStream for the token factory
2012-09-30 16:45:30 -07:00
Terence Parr
9845e4ff20
rm redundant field.
2012-09-30 12:46:01 -07:00
Terence Parr
ac29e6cdac
got unbufferedchar working I think.
2012-09-30 12:37:35 -07:00
Terence Parr
db1bfa9c03
ParserATNSimulator wasn't using Token type param.
2012-09-29 16:58:51 -07:00
Terence Parr
b56cd0f587
simplified delete configs algorithm.
2012-09-29 12:48:20 -07:00
Terence Parr
e78ecd418a
rm isGreedy from DecisionState, but allow ATN construction for lexer to be nongreedy. error if '.' in parser. rm unit tests for parser nongreedy
2012-09-29 12:33:00 -07:00
Terence Parr
c8a51ccfad
got wildcard working properly with recursion now!!! new unit test.
2012-09-27 12:22:16 -07:00
Terence Parr
19782e6d77
first wack at fixing nongreedy (ACTION | .)* for recursive rules.
2012-09-27 11:44:51 -07:00
Terence Parr
bca63c64aa
the test rig did not allow lexer only grammars; a regression.
2012-09-23 18:05:31 -07:00
Terence Parr
262a331a5b
recursive rule bug in lexer; the lexer ATN simulator was not checking for empty stack at rule stop states.
2012-09-23 18:04:46 -07:00
Sam Harwell
7ed6cdcc4b
TerminalNodeImpl.getSourceInterval didn't fulfill the contract of SyntaxTree.getSourceInterval
2012-09-22 20:10:01 -05:00
Sam Harwell
62e005c841
Add nb-configuration.xml files
2012-09-22 19:49:11 -05:00
Terence Parr
4abedb08dd
tweak comments
2012-09-22 12:29:22 -07:00
Terence Parr
ce38d61f3a
Merge branch 'flexiblehashmap' of github.com:sharwell/antlr4
2012-09-16 15:11:29 -07:00
Sam Harwell
1ce6b69651
Fix build warnings in FlexibleHashMap, reduce entry size
2012-09-16 13:44:34 -05:00
Sam Harwell
e9656e35f9
Fix codegen problem where notset and wildcard transitions could match invalid tokens and/or EOF
2012-09-16 12:56:10 -05:00
Terence Parr
aa2d893a77
got first draft of new "go/stop" algorithm.
2012-09-09 19:20:33 -07:00
Terence Parr
89656989e6
add new map that lets me specify hashCode/equals
2012-09-09 18:55:47 -07:00
Terence Parr
3c5dec1172
add large comment describing the decision rule for continuing analysis.
2012-09-09 17:56:42 -07:00
Terence Parr
4bbbff4e8e
comments and a rename
2012-09-08 15:23:33 -07:00
Terence Parr
0a961645be
fix comments; fix unit test
2012-09-08 13:13:00 -07:00
Sam Harwell
726fe2c983
Make sure to call visitErrorNode instead of visitTerminal when you have an ErrorNode. Also fix listener calls for case where _buildParseTrees is false (adds terminal as children of the rule nodes but won't actually construct the parse tree).
2012-09-08 14:57:30 -05:00
Terence Parr
7586afff27
don't pass new term node
2012-09-08 10:21:42 -07:00
Terence Parr
64cd79a18a
add return values
2012-09-08 10:14:10 -07:00
Terence Parr
2b5c3723ba
update comments from Sam's version
2012-09-06 14:17:13 -07:00
Terence Parr
38e0ad238d
Merge branch 'bail-error-propagation' of github.com:sharwell/antlr4 into main
2012-09-04 19:00:54 -07:00
Terence Parr
8dd215f4b4
Merge branch 'deserialize' of github.com:sharwell/antlr4 into main
2012-09-04 18:59:38 -07:00
Terence Parr
201db8b6d0
merge sam's pulls
2012-09-04 18:59:20 -07:00
Terence Parr
3565efbbc3
Merge branch 'parserrulecontext-tostring' of github.com:sharwell/antlr4 into main
2012-09-04 18:37:03 -07:00
Terence Parr
20aa8cf4ec
update comments
2012-08-27 12:05:05 -07:00
Terence Parr
d9ad3d0bde
rm as unneeded.
2012-08-27 12:02:16 -07:00
Terence Parr
60d99e62dc
rm ParseListener; tested the tracer with left recursive rules; weird but deterministic for entry events.
2012-08-27 11:22:42 -07:00
Terence Parr
050b27cf65
tweak comment
2012-08-26 18:09:52 -07:00
Terence Parr
1a52e0212e
tweak comment
2012-08-26 17:21:35 -07:00
Terence Parr
e33e355d66
tweak comment
2012-08-26 16:32:28 -07:00
Terence Parr
ad737ebdf6
tweak
2012-08-26 16:03:59 -07:00
Terence Parr
d8b4d6403a
add doxy stuff
2012-08-25 11:40:55 -07:00
Sam Harwell
a51f1e7055
Updated documentation in BailErrorStrategy
2012-08-21 13:24:39 -05:00
Sam Harwell
4508f96ce4
BailErrorStrategy propagates the RecognitionException to the current rule context and it's parents
2012-08-21 13:23:03 -05:00
Sam Harwell
dd12508f5d
Add overloads of RuleContext.toStringTree and RuleContext.toString which take a list of rule names instead of a Recognizer instance. Remove ParserRuleContext override because it does the same thing as the base method.
2012-08-19 11:43:21 -05:00
Sam Harwell
6f38942e31
Add overload of Trees.toStringTree that takes a list of rule names instead of a Recognizer instance
2012-08-19 11:38:13 -05:00
Sam Harwell
17f7efca0a
Never serialize edges for rule stop states since they can be trivially derived during ATN deserialization
2012-08-17 10:51:44 -05:00
Terence Parr
1d92b311ce
Merge branch 'master' into main
2012-08-13 12:38:00 -07:00
Sam Harwell
3bfcb7b38f
Add ATNSimulator.verifyATN to verify several assumptions about the deserialized ATN
2012-08-12 11:59:42 -05:00
Sam Harwell
2975c90fac
Serialize/deserialize the value of BlockStartState.endState
2012-08-12 11:58:26 -05:00
Sam Harwell
0c073062f7
TokensStartState is not really a BlockStartState because it doesn't have an associated end state
2012-08-12 11:56:07 -05:00
Sam Harwell
9b42acbf4d
ATNSimulator.deserialize computes values for PlusBlockStartState.loopBackState and StarLoopEntryState.loopBackState
2012-08-12 11:56:06 -05:00
Sam Harwell
83d8903f9f
ATNSimulator.deserialize derives rule stop states and (in the lexer) the outgoing transitions for those states
2012-08-12 10:27:48 -05:00
Terence Parr
2d62b73a14
Merge branch 'master' into main
2012-08-06 17:11:38 -07:00
Sam Harwell
199e9892dc
Should be checking for ErrorNode (interface) instead of ErrorNodeImpl (class)
2012-08-06 15:01:43 -05:00
Sam Harwell
cb09dd6d09
Move RuleNode, TerminalNode, ErrorNode, TerminalNodeImpl, and ErrorNodeImpl to top-level types
2012-08-06 15:01:00 -05:00
Terence Parr
492980de71
Merge branch 'master' into main
2012-08-04 21:31:37 -07:00
Sam Harwell
2947fe6a2a
Fix ATN optimizer leaving loop back state numbers in an inconsistent state
2012-08-04 22:22:51 -05:00
Terence Parr
0d92c25056
improve hashCode
2012-08-04 14:38:57 -07:00
Terence Parr
1bec176eaa
Impl Sam's no viable alt avoidance idea that chooses min alt that dips into outer context. unit test
2012-08-04 14:18:57 -07:00
Terence Parr
6d12cbfddb
fix regression; didn't work with stdin
2012-08-04 13:50:52 -07:00
Terence Parr
c2b49bd94e
pull in Sam's ATN alt collapsing optimizations with optimizeStates off as it causes a class cast exception.
2012-08-04 13:32:07 -07:00
Terence Parr
c7d1ea7e23
Merge remote-tracking branch 'sharwell/atn-optimization'
2012-08-04 12:08:43 -07:00
Terence Parr
b7b2a45c8b
update comments
2012-08-04 12:00:13 -07:00
Terence Parr
b160a3b14d
caching more operations in mergeCache, updated comments, added null chk in front of mergeCache ops.
2012-08-04 11:04:21 -07:00
Terence Parr
88dedbd1e0
added mergeArray cache, which didnt help java much but made massive diff to Go grammar. a file, nat.go, went from 2min to 3s in speed. Fixed bug where SLL had preds but they ORd to NONE. made it resolve to min alt. DoubleKeyMap moved to runtime.
2012-08-03 20:27:23 -07:00
Terence Parr
8a0af228d8
Revert "fix null ptr"
...
This reverts commit 95f5d858cb
.
2012-08-03 18:27:57 -07:00
Terence Parr
b8c2f5b75b
added var for sll loop tail recursion default value; updated unit tests
2012-08-03 18:27:26 -07:00
Terence Parr
e7b65057a6
added var for sll loop tail recursion default value; updated unit tests
2012-08-03 18:12:52 -07:00
Terence Parr
95f5d858cb
fix null ptr
2012-08-03 16:56:41 -07:00
Sam Harwell
5019278204
Add ATN optimization to collapse multiple alternatives to a single SetTransition where possible. Currently disabled for parser grammars since the code generator doesn't support set transitions.
2012-08-03 08:33:11 -05:00
Sam Harwell
54a3759412
LexerATNSimulator and ParserATNSimulator switch on result of getSerializationType() instead of performing multiple type checks
2012-08-03 08:24:24 -05:00
Terence Parr
86e47b9c02
update comments to explain SLL vs LL, predicate strategy, etc... (and did a small tweak in code)
2012-08-02 18:23:11 -07:00
Terence Parr
06d7c150fd
slow again since i had to remove full LL context->alt cache (wasn't correct). But, threaded now makes bigger diff than before.
2012-08-02 17:01:53 -07:00
Sam Harwell
ff4eb0f744
Transition classes except for SetTransition are final
2012-08-02 12:15:36 -05:00
Sam Harwell
60df00be4f
Transition classes override getSerializationType()
2012-08-02 12:15:35 -05:00
Terence Parr
754e6eb593
mirrored parser ATN sim changes in lexer ATN sim for thread safety. reduced contention for contextCache.
2012-08-01 18:25:25 -07:00
Terence Parr
b0b30fec68
cleanup
2012-08-01 18:05:47 -07:00
Terence Parr
ff24630494
add cmt
2012-08-01 15:03:32 -07:00
Terence Parr
b0c9a9c7c2
tried optimization concerning recomputing DFA states in DFA, but didn't help much. left in as comment for now.
2012-08-01 14:51:37 -07:00
Terence Parr
80560efcf8
wow. i think i got threaded working. rm readwrite lock, sync add add to shared context and add dfa state
2012-07-31 19:39:31 -07:00
Terence Parr
3d2cbe087d
refactoring
2012-07-31 18:54:00 -07:00
Terence Parr
abb268416e
Merge branch 'master' into main
2012-07-31 18:34:33 -07:00
Terence Parr
b8f7acdeac
refactor to create DFAState target, fill it in, then add to DFA only after it's complete. Combine some helper methods. simpler.
2012-07-31 18:26:39 -07:00
Terence Parr
fedb7c105b
tweaks
2012-07-30 22:24:12 -07:00
Terence Parr
85ea296632
added D2 as dup temp of D state. almost ready to change position of addDFAState
2012-07-30 22:15:09 -07:00
Sam Harwell
8c820269e4
Fix IntegerList.binarySearch
2012-07-30 19:24:20 -05:00
Terence Parr
c893f2af08
Pulled Sam's new IntegerList
2012-07-30 15:20:43 -07:00
Sam Harwell
dcdcad8feb
Add IntegerList.addAll overload for Collection<Integer>, add contains, sort, hashCode, equals, toString.
2012-07-30 15:17:02 -05:00
Sam Harwell
3bf99d6d88
Add IntervalSet.toIntegerList(), use IntegerStack to hold mode stack in Lexer
2012-07-30 15:13:26 -05:00
Sam Harwell
fa62570737
Add IntegerList and IntegerStack, behaves like ArrayList<Integer> and ArrayDeque<Integer> (mostly) except doesn't require boxing
2012-07-30 15:13:26 -05:00
Terence Parr
c0ece0bd09
add read/write lock to lexer.
2012-07-29 17:21:10 -07:00
Terence Parr
8836e13954
use ReentrantReadWriteLock to sync. works much better but still occasional illegal monitor state :(
2012-07-29 17:01:41 -07:00
Terence Parr
f5f6715a07
back to core sync around creating DFA in decisionToDFA. not thread-safe for dfa update.
2012-07-29 14:33:18 -07:00
Terence Parr
9bcfc83678
adding full LL prediction in DFAState from ctx -> predicted alt. Drops from 17s to 12s and costs only 4M more ram. woot!
2012-07-29 13:30:18 -07:00
Terence Parr
79594a942e
synchronized lexer. just as fast now to build new parser/lexer each iter in TestJavaLR
2012-07-29 10:48:08 -07:00
Terence Parr
ceab49e3ce
rm for now
2012-07-29 10:12:09 -07:00
Terence Parr
e3e739dfc7
The lexer and parser ATN simulators' adaptivePredict now synchronize on the specific DFA of the decision to be simulated. This should prevent a lot of contention that would occur if we synchronize the entire adaptivePredict method. When the individual DFA are created, we also synchronize on the shared DFA[] table quickly to create a DFA and insert it into the array. Code generation modified to have _decisionToDFA generated at the top of both the parser and the lexer. Simulators created now with the recognizer, ATN, DFA[]. Not sure the LexerInterp/ParserInterp work but pushing ahead anyway for the moment.
2012-07-29 09:49:35 -07:00
Terence Parr
8c8752a7b2
print file names if > 1 file
2012-07-28 18:33:21 -07:00
Terence Parr
3f26d42d53
add Sam's getConflictingAlts potential bug fix as comment
2012-07-28 18:33:05 -07:00
Terence Parr
68275eb998
rm singleton set; didn't help.
2012-07-28 13:23:52 -07:00
Terence Parr
ee233f7dd3
add -SLL option, allow multiple input files, reuse same parser/lexer.
2012-07-28 13:07:51 -07:00
Terence Parr
75fd3264ff
adding new equivalence class support code and new SingletonSet
2012-07-28 11:53:40 -07:00
Terence Parr
680df17280
rm transient context cache for closure computations; slight speed improvement maybe. less complex.
2012-07-28 10:51:07 -07:00
Terence Parr
eda95f7478
DFA cache on again; dropped from 25 to 16M!!!
2012-07-28 10:34:34 -07:00
Terence Parr
8a301f59f8
try making smaller config list.
2012-07-28 10:29:04 -07:00
Terence Parr
2ee5a2f3ae
release entire ConfigHashSet upon readonly. sames some mem and is faster.
2012-07-27 22:38:43 -07:00
Terence Parr
7ff5544573
wipe out config lookup in ATNConfigSet when it goes readonly.
2012-07-27 22:20:23 -07:00
Terence Parr
54fd28c29d
add() was wrong
2012-07-27 21:03:41 -07:00
Terence Parr
8279c3da11
turn on local context cache.
2012-07-27 20:53:10 -07:00
Terence Parr
14372f2515
only 14 unit tests fail.
2012-07-27 17:38:02 -07:00
Terence Parr
b8f072e231
rebuilt new hashtable as T[][]
2012-07-27 17:18:33 -07:00
Terence Parr
b843d6cf59
initial new hash table impl.
2012-07-27 14:51:07 -07:00
Terence Parr
b83c90af2f
play with atnconfigset fields
2012-07-27 14:50:36 -07:00
Terence Parr
9445d1fdd6
update comment
2012-07-27 10:38:43 -07:00
Terence Parr
26165c5d54
atnconfigsets can be readonly now. no copying to put into new DFA state, set readonly instead. made atnconfigset.equals() more accurate. add -notree option to test java lr
2012-07-27 10:34:59 -07:00
Terence Parr
093af0edce
update comment
2012-07-26 18:26:17 -07:00
Terence Parr
6322ff3abd
add comment
2012-07-26 18:17:05 -07:00
Terence Parr
0e24a66f07
reduce memory usage by creating LexerATNConfig a subclass with the lexer action index. saves about 2M on java.* with javalr.
2012-07-26 17:51:02 -07:00
Terence Parr
3c7b4c2a33
big cleanup.
2012-07-26 17:28:10 -07:00
Terence Parr
6b8e6cf0a7
reduces a few equals calls.
2012-07-26 10:58:11 -07:00
Terence Parr
faafe8dfa2
no local/shared predctx caches. remove spurious array creation.
2012-07-26 10:35:52 -07:00