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