Commit Graph

1542 Commits

Author SHA1 Message Date
Sam Harwell 0e5bcc2416 Report file names with lexer errors 2013-05-17 23:57:13 -05:00
Sam Harwell 5948f50288 Proper Unicode identifier handling 2013-05-17 23:56:32 -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 1906e4a639 Use IntervalSet.or and Arrays.copyOf instead of duplicating their functionality 2013-05-14 09:58:51 -05:00
Sam Harwell 35ef516e28 Add some assertions 2013-05-14 09:58:02 -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 32d4c85f0f Rethrow unit test execution exceptions wrapped in a RuntimeException 2013-05-13 20:27:50 -05:00
Sam Harwell af59f35481 Count full context transitions in statistics 2013-05-13 20:27:18 -05:00
Sam Harwell 0652b61a33 Default to FILE_GRANULARITY=true 2013-05-12 18:07:35 -05:00
Sam Harwell 0fac5ce133 Use System.nanoTime for more precise timing results 2013-05-12 17:52:23 -05:00
Sam Harwell 3694d51c4e Don't try to report detailed statistics for empty states (fixes exception in lexer stats reporting) 2013-05-12 17:48:33 -05:00
Sam Harwell 9ea4747524 Call Future.get() to propagate exceptions so it's easier to spot problems 2013-05-12 17:46:55 -05:00
Terence Parr ac7cc7daaf Merge pull request #247 from sharwell/parallel-testing
Parallel testing updates
2013-05-05 12:32:56 -07:00
Sam Harwell d67d924b0d Update additional classes to use MurmurHash hashing 2013-05-05 14:21:42 -05:00
Sam Harwell d75f8e9aa3 Add the DETAILED_DFA_STATE_STATS option to TestPerformance, which shows a breakdown of DFA states by rule (parsers) or mode (lexers) 2013-05-01 22:06:00 -05:00
Sam Harwell d147e9202d Use ->skip instead of ->channel(HIDDEN) to ensure reported token counts correspond to the number of parsed tokens in TestPerformance 2013-05-01 22:02:26 -05:00
Sam Harwell 28abae9cfb Add the TIME_PARSE_ONLY flag to TestPerformance 2013-04-30 22:03:49 -05:00
Sam Harwell cc0d050622 Display the current pass number in TestPerformance result summary (helps monitor progress on very long runs) 2013-04-30 22:00:35 -05:00
Sam Harwell 3558151e56 Support parallelizing TestPerformance across passes instead of across files (controlled by the FILE_GRANULARITY flag) 2013-04-30 21:58:32 -05:00
Sam Harwell 4dfa245898 Added the COMPUTE_TIMING_STATS and TIMING_CUMULATIVE options to TestPerformance (disabled by default) 2013-04-30 21:53:30 -05:00
Sam Harwell 8f7c43fbf6 Support computing and displaying transition statistics 2013-04-30 21:48:51 -05:00
Sam Harwell be57daa108 Remove unnecessary reflection, fix option to not reuse DFA 2013-04-30 21:41:55 -05:00
Sam Harwell 646f673d84 Track token count separately for each pass 2013-04-30 21:35:10 -05:00
Sam Harwell dda9ed9fab Remove unnecessary null checks 2013-04-24 12:48:09 -05:00
Sam Harwell 5821747a42 Add TestPerformance.COMPUTE_TRANSITION_STATS 2013-04-24 12:47:25 -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 15577fd21f Remove unnecessary method ParserInterpreter.predictATN 2013-04-24 10:32:20 -05:00
Sam Harwell be83edf6d0 Gather additional parsing statistics from each file 2013-04-22 17:35:16 -05:00
Sam Harwell f1fc42024f explicitConstructorInvocation was broken and unnecessary 2013-04-22 17:31:58 -05:00
Sam Harwell ad41c3b14f Assignments can appear in the middle of a ternary expression 2013-04-22 17:31:29 -05:00
Sam Harwell 4b6d0d9ea2 Support diamond operator, improved support for explicit generic invocations 2013-04-22 17:31:02 -05:00
Sam Harwell df336b4e59 Remove unreferenced rule from Java LR 2013-04-22 17:27:44 -05:00
Sam Harwell 69f22f8012 Allow extraneous ';' in annotation interface declaration (not allowed by grammar, but is allowed by compiler and appears in some source code) 2013-04-22 17:24:44 -05:00
Sam Harwell a670d7d2b0 Support Java 7 "try with resources" and "multi-catch" 2013-04-22 17:23:54 -05:00
Sam Harwell c8701a9434 Support directory filters in TestPerformance, add a variety of additional FilenameFilter implementations 2013-04-22 17:16:49 -05:00
Sam Harwell 210dc31a43 Print the proper statistics when only a subset of available files is parsed 2013-04-22 17:13:56 -05:00
Sam Harwell b9918b9e25 Remove unnecessary null checks 2013-04-22 17:10:07 -05:00
Sam Harwell 5280b68cab Add the TestPerformance.PRELOAD_SOURCES configuration field 2013-04-22 17:08:24 -05:00
Sam Harwell 94b06df72f Add TestPerformance.ENCODING configuration field (default UTF-8) 2013-04-22 16:53:53 -05:00
Sam Harwell e7b84c13dd Add comment to TestPerformance.PREDICTION_MODE configuration field 2013-04-22 16:49:36 -05:00
Sam Harwell f5294204ae Add the TestPerformance.MAX_FILES_PER_PARSE_ITERATION configuration field 2013-04-21 15:00:20 -05:00
Sam Harwell 82f4d07243 Default value for TestPerformance.BAIL_ON_ERROR is now false since it's overridden anyway for first phase of two-stage parsing 2013-04-21 14:56:28 -05:00
Sam Harwell e438b60f37 Add the SHUFFLE_FILES_AT_START and SHUFFLE_FILES_AFTER_ITERATIONS options to TestPerformance 2013-04-21 14:55:31 -05:00
Terence Parr bc4b530b3b tweak my tests for java. 2013-04-20 10:17:25 -07:00
Sam Harwell 7a7f4a7851 Must check rule transition follow states before eliminating states in the ATN (fixes #224) 2013-04-18 14:46:11 -05:00
Sam Harwell bf4f198fbf Fix build error 2013-04-18 14:43:56 -05:00
Sam Harwell 9236477438 Fix code in TestPerformance that clears the DFA 2013-04-15 11:12:16 -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 bb18e14e04 Throw UnsupportedOperationException in not implemented method 2013-04-12 13:20:10 -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 f4ae1cf471 Updated documentation 2013-04-04 13:09:54 -05:00
Sam Harwell 4433a57baa Strict handling of redefined rules (do not attempt to generate code), fixes #210 2013-04-04 13:09:31 -05:00
Sam Harwell 7235d71cc0 Fix NPE revealed by updated testing method 2013-04-04 13:07:43 -05:00
Sam Harwell 805430177c More thorough testing of tool error reporting 2013-04-04 13:06:22 -05:00
Sam Harwell 0e5cf32bf4 Merge branch 'fix-195' 2013-03-27 15:02:42 -05:00
Sam Harwell 2242948c03 Merge branch 'fix-76' 2013-03-27 15:02:17 -05:00
Sam Harwell cae9f7bbf1 Merge branch 'fix-202' 2013-03-27 15:02:07 -05:00
Sam Harwell 71cc6fba8a Merge branch 'fix-194' 2013-03-27 15:01:57 -05:00
Sam Harwell f75878b3e6 Merge branch 'fix-196' 2013-03-27 15:01:45 -05:00
Sam Harwell 961f68c865 Fix incorrect reports of label type conflicts for labels aliased across separate *labeled* outer alternatives (fixes #195) 2013-03-27 11:21:32 -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 7f029a3c80 Avoid creating empty action methods in lexer (fixes #202) 2013-03-27 09:46:45 -05:00
Sam Harwell 46c12278a8 Add error 150: MISSING_LEXER_COMMAND_ARGUMENT; add error 151: UNWANTED_LEXER_COMMAND_ARGUMENT 2013-03-27 00:10:07 -05:00
Sam Harwell 551100ea37 Add error 149: INVALID_LEXER_COMMAND (fixes #190) 2013-03-26 23:57:11 -05:00
Sam Harwell 05f4b76fab Add additional unit test for empty tokens{} block in grammar 2013-03-26 23:56:19 -05:00
Sam Harwell b4413e8656 Fix handling of empty options{} block in grammar (fixes #194) 2013-03-26 23:55:53 -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 07689de50f Updated @NotNull and @Nullable annotations, linked documentation 2013-03-26 18:41:39 -05:00
Sam Harwell f6ad977e0d ATN fields grammarType and maxTokenType are now final 2013-03-26 18:14:13 -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 c35f5ec40c Do not require escape for $ in action when not followed by an ID start char (fixes #176) 2013-03-06 13:13:33 -06:00
Sam Harwell 56c053a5be Remove unreferenced fragment rules 2013-03-06 13:00:29 -06:00
Sam Harwell e54aa851cd Fix generation of invalid Unicode escape sequences in Java code (fixes #164) 2013-03-06 12:16:44 -06:00
Sam Harwell 2ffb12028a Directly reference ErrorType members from tests for easier cross-referencing 2013-03-06 11:09:33 -06:00
Sam Harwell a9e1b8b2b6 Change error type 146 (EPSILON_TOKEN) to a warning (fixes #180) 2013-03-06 10:55:25 -06:00
Sam Harwell fef6dd2885 Allow direct calls to left-recursive rules (fixes #161) 2013-03-06 10:48:42 -06:00
Sam Harwell 645f80971f Merge remote-tracking branch 'sharwell/lexer-commands' 2013-02-23 17:59:15 -06:00
Sam Harwell 68050dd126 Move Java-specific character escaping code to JavaTarget, make methods in Target abstract 2013-02-23 17:56:54 -06:00
Sam Harwell b4e66f18cd Move Java "bad word" analysis to JavaTarget 2013-02-23 17:55:25 -06:00
Sam Harwell 9e1eed7614 Make Target an abstract base class, with default derived implementation JavaTarget 2013-02-23 17:55:23 -06:00
Sam Harwell b642c72845 Avoid loading the target in the CodeGenerator constructor 2013-02-23 17:55:21 -06:00
Sam Harwell d48ffa1459 Use accessors for fields in Target 2013-02-23 17:55:19 -06:00
Sam Harwell 4d854a521e Move template loading to Target 2013-02-23 17:55:17 -06:00
Sam Harwell 920d5dec8b Separate visibility and "bad word" analysis in Target 2013-02-23 17:55:15 -06:00
Sam Harwell cb298530ba Remove unused Target methods 2013-02-23 17:55:13 -06:00
Sam Harwell 371bcc83b2 Use accessor methods for CodeGenerator.templates and CodeGenerator.target 2013-02-23 17:55:11 -06:00
Sam Harwell 758c5cd37f Use lexer commands instead of actions where available 2013-02-23 16:45:16 -06:00
Sam Harwell 18508e2209 Do not allow raw newline characters in lexer string literals 2013-02-22 14:12:04 -06:00
Sam Harwell 1bc4c5e6a4 Do not allow raw newline characters in a lexer char set 2013-02-22 14:12:00 -06:00
Sam Harwell 08386ba2dc Simplify LEXER_CHAR_SET rule 2013-02-22 14:11:58 -06:00
Sam Harwell 3d59e47fb4 Remove unnecessary method Utils.replace (already exists as String.replace) 2013-02-22 14:08:51 -06:00
Sam Harwell aae042c6db Additional IntervalSet unit test (catches underlying cause of #153) 2013-02-05 13:09:14 -06:00
Sam Harwell e1cce61400 Development line is now 4.0.1 2013-01-21 19:20:01 -06:00
Sam Harwell 29495c4a04 Use hard tab in code generation template 2013-01-21 13:13:18 -06:00
Sam Harwell 019cba7c46 Remove unused "true" and "false" templates 2013-01-21 13:13:16 -06:00
Terence Parr 21a97e4ead tweak 2013-01-21 11:10:49 -08:00
Sam Harwell f37d99bc92 Updated error messages and documentation 2013-01-16 13:45:08 -06:00
Sam Harwell a972a4dc24 Add error 148: left recursive rule 'a' contains a left recursive alternative which can be followed by the empty string 2013-01-16 13:23:20 -06:00
Sam Harwell 9ccdca49bb Add error 147: left recursive rule 'a' must contain an alternative which is not left recursive; fixes antlr/antlr4#140 2013-01-16 12:38:55 -06:00
Sam Harwell 8e32d7b695 Clean up imports 2013-01-16 12:37:39 -06:00
Sam Harwell 425df2c595 Ensure the token stream is always properly set for Grammar, GrammarRootAST, and LeftRecursiveRuleAnalyzer 2013-01-16 12:37:10 -06:00
Sam Harwell 5d489ccbbe Update documentation 2013-01-15 09:18:07 -06:00
Sam Harwell 0a6d1bff7e Fix invalid escape sequences generated for literals containing backslashes 2013-01-15 09:17:56 -06:00
Sam Harwell 98c29943e5 Make TokenVocabParser fields `protected final` 2013-01-15 08:54:39 -06:00
Sam Harwell 758e2422f5 Updated error message, updated TestAttributeChecks 2013-01-15 08:54:07 -06:00
Sam Harwell df7fb3de2f Call grammarError instead of toolError to provide proper error location 2013-01-15 08:53:39 -06:00
Sam Harwell 48c1a8d433 Forgot to update GrammarTreeVisitor to support modes with no rules 2013-01-14 18:43:23 -06:00
Sam Harwell 3521a00dbb Add error 146: non-fragment lexer rule can match the empty string 2013-01-14 18:03:21 -06:00
Sam Harwell 9edec91022 Add error 145: lexer mode must contain at least one non-fragment rule 2013-01-14 18:03:13 -06:00
Sam Harwell c1f831aed1 Parser allows empty options{} block, empty element options, modes with no rules, and empty lexer alternatives 2013-01-14 18:03:09 -06:00
Sam Harwell 9f82e11431 Remove unused field 2013-01-14 18:03:08 -06:00
Sam Harwell c51bdc2fc9 Add missing listener interface methods to GrammarTreeVisitor 2013-01-14 18:03:07 -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 b5650404e0 Error message cleanup 2013-01-11 12:47:47 -06:00
Sam Harwell ed9f52702e Use separate error messages for multi-character literals (always illegal) and rule references (not yet supported) in lexer sets 2013-01-11 12:46:42 -06:00
Sam Harwell 538f66a194 Documentation and cleanup in AttributeDict 2013-01-11 11:49:51 -06:00
Sam Harwell 40a40e0fee Add detailed errors for the various types of conflicts between names of rules, tokens, parameters, return values, locals, and labels 2013-01-11 11:45:24 -06:00
Sam Harwell 47dcd4881c Report conflicting argument error at specific location in input 2013-01-11 10:17:07 -06:00
Sam Harwell 0496cff256 Add field Attribute.token to hold a pseudo-token with specific location information for the attribute; track this position in ScopeParser 2013-01-11 09:49:38 -06:00
Sam Harwell 260115fa23 The ARG_ACTION token for a rule's locals is always an ActionAST 2013-01-11 09:46:33 -06:00
Sam Harwell 6b3d102ba1 Also check rule list labels 2013-01-10 14:57:51 -06:00
Sam Harwell 899d15aa5a Handle null scope 2013-01-10 14:49:04 -06:00
Sam Harwell 19f861ee81 Added error message 135: cannot assign a value to list label: $label 2013-01-10 14:48:59 -06:00
Sam Harwell f59a08c172 Maven build: reference jUnit 4.10, ANTLR 3.5 final, ST 4.0.7 final 2013-01-05 06:08:12 -06:00
Sam Harwell fb865cec3b Maven builds: if mvn is not run with -Psonatype-oss-release, then 1) javadocs are not generated, 2) source jar is not generated, 3) artifacts are not signed, 4) shaded (complete) jar is not generated. Development cycle install ~4:1 faster, clean+install ~2:1 faster 2013-01-05 05:40:11 -06:00
Sam Harwell 98d2ba8fb5 Correct link to GitHub issue for unit test documentation 2013-01-03 02:46:58 -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 fbfa61c3dd Remove tree parser reference 2013-01-02 12:48:58 -06:00
Sam Harwell 922fe53bdd Ignore testStartRuleWithoutEOF until we decide on the desired behavior 2013-01-02 09:06:00 -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 61b872377c Add timeout to unit test due to highlight non-termination of prediction algorithm without resorting to @Ignore 2013-01-02 08:33:54 -06:00
Sam Harwell e3383ecb61 Add unit test for start rule without EOF 2013-01-02 08:30:05 -06:00
Sam Harwell 274d566be6 TestPerformance.DEBUG_TEMPLATES should default to false 2013-01-02 06:50:05 -06:00
Sam Harwell c462547ff3 Support the -XdbgST and -XdbgSTWait options in TestPerformance 2013-01-02 06:41:19 -06:00
Sam Harwell 26d267ca38 Add the -XdbgSTWait command line option to block the tool execution until the STViz inspection dialog is closed 2013-01-02 06:41:18 -06:00
Sam Harwell b6a824ddd5 No need to override method - bug was fixed in V3 runtime 2013-01-02 06:40:49 -06:00
Terence Parr bd46ac1c3f I altered Target.getTargetStringLiteralFromANTLRStringLiteral() so that it converts \uXXXX in an ANTLR string to \uXXXX, thus, avoiding Java's conversion to a single character before compilation. Fixes antlr/antlr#111 2012-12-31 15:06:34 -08:00
Sam Harwell 7811ad9e49 Also copy command line options to lexer in combined grammars 2012-12-25 08:06:56 -06:00
Terence Parr c93970207e gen grammar name and antlr version into gen'd files 2012-12-24 13:35:25 -08:00
Terence Parr f43166bb45 pull version from manifest file or use 4.x. 2012-12-24 13:25:28 -08:00
Sam Harwell 73e2a31d36 Call visitChildren by default 2012-12-24 14:04:32 -06:00
Terence Parr 36c3b2341c add unit test for case when SLL needs to see EOF 2012-12-23 15:31:35 -08:00
Terence Parr dc3279cf23 assertNotEquals wasn't found (I upgraded to junit 4.10 too). weird. 2012-12-20 16:33:26 -08:00
Sam Harwell 068075f1c4 Fix usage of BufferedTokenStream: cannot consume EOF 2012-12-17 22:09:50 -06:00
Sam Harwell 9ec75650e3 Optimize ATNState.getStateType 2012-12-17 13:20:47 -06:00
Sam Harwell 116c58bec6 Show all warnings and errors for V3 compatibility issues so the user has a list of all the items to fix 2012-12-16 17:18:51 -06:00
Sam Harwell 9865d03347 Tweak comments and messages in ErrorType 2012-12-16 17:18:17 -06:00
Sam Harwell d7bf34d4f4 Remove ErrorType.INVALID 2012-12-16 17:17:09 -06:00
Sam Harwell 95335a8799 Unit test tweaks 2012-12-16 17:16:31 -06:00
Sam Harwell 2405219668 Encapsulate several fields in ANTLRMessage 2012-12-16 16:56:37 -06:00
Sam Harwell 54c9382ce1 Reference the latest RC-2 releases of ANTLR 3 and ST 4 2012-12-16 16:52:44 -06:00
Sam Harwell 99e4438256 Use a TestWatcher to properly clean up after successful tests 2012-12-15 18:19:40 -06:00
Sam Harwell 1274e819fe Fix remaining minor issues with use of generics in Tool 2012-12-15 12:04:22 -06:00
Sam Harwell 2582d33085 Add @SuppressWarnings("fallthrough") to method with intentional fallthrough 2012-12-14 09:43:21 -06:00
Sam Harwell 0504334d08 Add missing @Override annotations 2012-12-14 09:42:02 -06:00
Sam Harwell ed40c1aad1 Remove redundant casts 2012-12-14 09:41:11 -06:00
Sam Harwell 9d0ba56cbd Build against the latest ANTLR 3.5-SNAPSHOT 2012-12-14 09:40:12 -06:00
Sam Harwell 227214765d Cleaner initialization of predefined sets and maps 2012-12-14 09:38:40 -06:00
Sam Harwell ac55cf3990 Add missing generic type arguments 2012-12-14 09:37:22 -06:00
Sam Harwell 51dadaf7e8 Updated TestPerformance output (platform-specific newlines, simplified source name formatting) 2012-12-13 08:51:36 -06:00
Sam Harwell 129e403f4a Updated comments in TestPerformance 2012-12-13 08:45:14 -06:00
Sam Harwell e48d87d6a8 In TestPerformance, REUSE_LEXER and REUSE_PARSER default to false since it's an easier case to work with and overhead is minimal now that the DFA is shared between instances 2012-12-13 08:27:55 -06:00
Sam Harwell 6aef4ef1eb Introduce local variables in TestPerformance 2012-12-13 08:25:20 -06:00
Sam Harwell c0668a9cae Merge remote-tracking branch 'antlr/master' into precedence-predicates 2012-12-12 09:42:17 -06:00
Sam Harwell b822070790 Use new STGroup.GROUP_FILE_EXTENSION value 2012-12-11 08:44:44 -06:00
Sam Harwell 1411a561ab Use EnumSet instead of HashSet 2012-12-11 08:44:38 -06:00
Sam Harwell 70360a4ce8 GrammarASTWithOptions.getOptions never returns null 2012-12-11 08:44:05 -06:00
Sam Harwell f418ae6610 Fix template issues 2012-12-11 08:43:33 -06:00
Sam Harwell a50c8d9088 Listen for issues reported by StringTemplate, report them as warnings 2012-12-11 08:43:32 -06:00
Sam Harwell fc3bb61d2d "warning treated as error" is a one-off error 2012-12-11 08:43:31 -06:00
Sam Harwell 934bea8b12 Add -long-messages option; only show exceptions with errors when set 2012-12-11 08:43:25 -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 26f16bed73 Updated documentation 2012-12-07 08:54:53 -06:00
Sam Harwell 38b5a8321b Remove reference to tree parsers 2012-12-07 08:50:54 -06:00
Sam Harwell 356b8e4b27 Updated parameter types of copy constructors, return types of dupNode 2012-12-07 08:31:38 -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 0f69799b08 Rerun semantic checks on rule produced by LR transform 2012-12-06 13:54:57 -06:00
Sam Harwell 97f23097d0 Allow elementOptions on rule references 2012-12-06 13:54:48 -06:00
Sam Harwell 9d3c763470 Add ATNSimulator.SERIALIZED_VERSION, resolved antlr/antlr4#95 2012-12-06 13:07:32 -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 064501967e Construct GrammarASTAdaptor with CharStream from lexer 2012-12-06 13:05:21 -06:00
Sam Harwell ee8344703b Fix inconsistency in elementOption syntax in tree grammars 2012-12-06 13:05:20 -06:00
Sam Harwell 3946c05eec Update dependencies now that ANTLR 3.5 RC 1 and ST 4.0.7 RC 1 are synced with Maven Central 2012-12-04 12:59:44 -06:00
Sam Harwell b2ab7ab5ac Rename master artifact to antlr4-master 2012-12-04 12:57:56 -06:00
Sam Harwell 9d47ac7169 Shaded output file is antlr4-4.0-complete.jar, includes all files from v4 runtime 2012-12-02 18:10:14 -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 84306fa385 Remove -Xverbose-dfa option. Fixes antlr/antlr4#92 2012-12-02 10:31:58 -08:00
Terence Parr 346da8b863 remove -Xsave-lexer option; log file as implicit lexer AST. Fixes antlr/antlr4#82 2012-12-01 17:30:12 -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 35202df715 label+='foo' wasn't generating good code. It was generating token type as variable name. Now, I gen "s<ttype>" for implicit labels on string literals. Augmented unit test. Fixes antlr/antlr4#90 2012-12-01 16:26:06 -08:00
Terence Parr 84c34d2391 make code slightly more obvious. 2012-12-01 16:23:44 -08:00
Terence Parr 6d6389eef2 added error for bad sets in lexer. some tests in TestSets appeared to allow ~('a'|B) but it was randomly working. ('a'|B) works without the ~, though doesn't collapse to a set. fixes antlr/antlr4#70 2012-12-01 15:44:23 -08:00
Terence Parr fc79752748 Merge branch 'master' of github.com:antlr/antlr4 2012-12-01 14:38:33 -08:00
Sam Harwell 66bdbb7abd Remove unused options from Tool 2012-12-01 12:27:10 -06:00
Sam Harwell 6de4570964 Explicitly specify the compile scope 2012-11-30 12:28:58 -06: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 6e6201a341 Build uber-jar of the tool to make it easier to generate code on the command line 2012-11-28 11:43:09 -06:00
Sam Harwell f264609453 Updated POMs for deploying to sonotype 2012-11-27 23:34:36 -06:00
Sam Harwell 11385f7920 Use a zero offset for the first bitset as long as it doesn't force the creation of additional sets 2012-11-27 08:46:16 -06:00
Sam Harwell ad242a0c7a No need to offset the shift value when the offset is 0 2012-11-27 08:39:22 -06:00
Sam Harwell 7c5ec45054 Restrict bitwise comparisons to sets with at least 3 elements (direct equality is cheaper for 1-2 elements) 2012-11-27 08:39:21 -06:00
Sam Harwell 88dbee6352 TestSetInline uses bitwise operators for testing blocks of 64 input values at a time 2012-11-27 08:39:12 -06:00
Sam Harwell 1bc15c5926 Remove unnecessary casts 2012-11-27 08:11:14 -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 60cf71a564 RuleActionFunction and RuleSempredFunction templates generate private methods 2012-11-26 14:21:56 -06:00
Sam Harwell fa5332926b Don't create action functions for lexer rules with no specified actions 2012-11-26 14:21:54 -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
Alan D. Cabrera 0696d3a943 Fixed POMs so everything builds nicely from the root. 2012-11-23 09:47:40 -08:00
Terence Parr 355eb42898 This misidentified scope lexer/parser: @lexer::members { } @parser::members { } 2012-11-22 15:50:21 -08:00
Terence Parr 3c0883e9c3 fix: actions like @after in imported rules caused inf loop. added unit test. 2012-11-22 15:43:21 -08:00
Terence Parr 6bf7bf26fd rename tokens->tokenStream; make sure left-recur rule translation uses token stream from correct imported file. 2012-11-22 12:26:08 -08:00
Terence Parr 4e84ae28a2 fix so tokens { A, B } Actually defines them. 2012-11-22 11:32:45 -08:00
Terence Parr 670b20a5cb factor out isTokenName. 2012-11-22 11:15:48 -08:00
Terence Parr 7eaccbc757 revert tokens{} ids to id not just TOKEN_REF. semantic error comes later. 2012-11-22 10:57:18 -08:00
Terence Parr be3a95e8a7 fix unit test. 2012-11-22 10:56:53 -08:00
Sam Harwell 038d3ad44f Make sure to check rules in modes while checking for undefined rules 2012-11-21 18:37:02 -06:00
Sam Harwell 0742b49c1b Fix USE_OF_BAD_WORD getting reported for elements that never appear in the generated code 2012-11-18 22:30:25 -06:00
Terence Parr 80f7c35a7c Merge branch 'fix-several-bugs' of git://github.com/sharwell/antlr4 2012-11-18 16:19:30 -08:00
Sam Harwell 7fe48dfebf Remove erroneous lexer command placement error message for rules with more than 1 command 2012-11-18 18:17:21 -06:00
Sam Harwell e610f26998 Fix support for the special token reference `EOF` 2012-11-18 18:13:49 -06:00
Sam Harwell d6e1ca2b61 Fix NPE when the grammar has no rules 2012-11-18 18:13:27 -06:00
Sam Harwell 16ace4b429 Fix token definitions: tokens in a tokens{...} block now have type TOKEN_REF (was ID before commit 38214f6312) 2012-11-18 18:03:06 -06:00
Sam Harwell 178df68183 Whitespace can appear between {...}? and => in v3 gated semantic predicates 2012-11-18 18:01:07 -06:00
Sam Harwell aace1ce399 V3 semantic predicate gate (=>) can only appear after a predicate {...}?, not an action {...} 2012-11-18 18:00:19 -06:00
Terence Parr ffbdf8a36c tweak to compile. strange 2012-11-18 15:04:42 -08:00
Terence Parr 133b00aef9 Revert "tweak to compile. strange"
This reverts commit 44cfedc5e6.
2012-11-18 15:01:59 -08:00
Terence Parr 44cfedc5e6 tweak to compile. strange 2012-11-18 14:59:56 -08:00
Terence Parr 3e91065824 Detect EOF in lexer rule 2012-11-18 14:24:18 -08:00
Terence Parr 060343f027 * added check for v3 backward incompatibilities:
** (...)=> syntactic predicates
2012-11-18 14:10:28 -08:00
Terence Parr c5bf2ba0bd * added check for v3 backward incompatibilities:
** {...}?=> gate semantic predicates
2012-11-18 13:59:43 -08:00
Terence Parr 405a447ada warn->err 2012-11-18 13:46:10 -08:00
Terence Parr 38214f6312 * added check for v3 backward incompatibilities:
** tokens {A;B;} syntax
** tokens {A='C';} syntax
2012-11-18 13:39:09 -08:00
Terence Parr 52d3e7ac71 err->warning 2012-11-18 13:04:43 -08:00
Terence Parr ae111eddbd * added check for v3 backward incompatibilities:
** labels in lexer rules
2012-11-18 13:03:37 -08:00
Terence Parr 397f28d12c added check for v3 backward incompatibility: tree grammars 2012-11-18 12:53:48 -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
Terence Parr b214f36044 cleanup, rm dead etypes, add check for ids that cause code gen issues; added notion of one-off error 2012-11-18 11:00:06 -08:00
Terence Parr 3e5a976599 playground stuff 2012-11-18 09:57:05 -08:00
Terence Parr 468c791267 cleanup ErrorType a bit, split an error msg. 2012-11-18 09:56:41 -08:00
Terence Parr 0a8e7220f8 fixed: undefined rule refs caused exception 2012-11-18 09:33:11 -08:00
Terence Parr 1916ed0626 rm extra newline 2012-11-18 09:18:41 -08:00