Commit Graph

1078 Commits

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