Commit Graph

1270 Commits

Author SHA1 Message Date
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