Commit Graph

1286 Commits

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