Commit Graph

1216 Commits

Author SHA1 Message Date
Terence Parr 1155c40fc8 add contrib agreement 2012-08-13 12:58:06 -07:00
Sam Harwell 3bfcb7b38f Add ATNSimulator.verifyATN to verify several assumptions about the deserialized ATN 2012-08-12 11:59:42 -05:00
Sam Harwell 2975c90fac Serialize/deserialize the value of BlockStartState.endState 2012-08-12 11:58:26 -05:00
Sam Harwell 0c073062f7 TokensStartState is not really a BlockStartState because it doesn't have an associated end state 2012-08-12 11:56:07 -05:00
Sam Harwell 9b42acbf4d ATNSimulator.deserialize computes values for PlusBlockStartState.loopBackState and StarLoopEntryState.loopBackState 2012-08-12 11:56:06 -05:00
Sam Harwell 83d8903f9f ATNSimulator.deserialize derives rule stop states and (in the lexer) the outgoing transitions for those states 2012-08-12 10:27:48 -05:00
Sam Harwell 199e9892dc Should be checking for ErrorNode (interface) instead of ErrorNodeImpl (class) 2012-08-06 15:01:43 -05:00
Sam Harwell cb09dd6d09 Move RuleNode, TerminalNode, ErrorNode, TerminalNodeImpl, and ErrorNodeImpl to top-level types 2012-08-06 15:01:00 -05:00
Sam Harwell 2947fe6a2a Fix ATN optimizer leaving loop back state numbers in an inconsistent state 2012-08-04 22:22:51 -05:00
Terence Parr 1e88980db5 Merge remote-tracking branch 'sharwell/aliased-tokens' 2012-08-04 13:33:58 -07:00
Terence Parr c7d1ea7e23 Merge remote-tracking branch 'sharwell/atn-optimization' 2012-08-04 12:08:43 -07:00
Sam Harwell d504d21010 Do not emit token types for lexer rules with a 'type(...)' or 'more' command 2012-08-04 14:05:17 -05:00
Terence Parr 20d96b0a86 Merge remote-tracking branch 'sharwell/automata-cleanup' 2012-08-04 12:04:09 -07:00
Terence Parr f8aeb04eda Merge remote-tracking branch 'sharwell/serialization-type' 2012-08-04 12:03:24 -07:00
Sam Harwell 674471c090 Add NotNull annotations, null check, tweak documentation 2012-08-03 08:46:07 -05:00
Sam Harwell 43da92e117 Remove old tree parser code 2012-08-03 08:45:36 -05:00
Sam Harwell 5019278204 Add ATN optimization to collapse multiple alternatives to a single SetTransition where possible. Currently disabled for parser grammars since the code generator doesn't support set transitions. 2012-08-03 08:33:11 -05:00
Sam Harwell 1f4df2ea5a Add ATN optimization to remove null state entries and renumber the remaining states 2012-08-03 08:33:10 -05:00
Sam Harwell f9bacf5060 Add ATN optimizer (currently doesn't provide optimizations) 2012-08-03 08:33:10 -05:00
Sam Harwell eff9e0c47f Move TailEpsilonRemover to top-level class 2012-08-03 08:33:09 -05:00
Sam Harwell 54a3759412 LexerATNSimulator and ParserATNSimulator switch on result of getSerializationType() instead of performing multiple type checks 2012-08-03 08:24:24 -05:00
Sam Harwell ff4eb0f744 Transition classes except for SetTransition are final 2012-08-02 12:15:36 -05:00
Sam Harwell 60df00be4f Transition classes override getSerializationType() 2012-08-02 12:15:35 -05:00
Sam Harwell 170a8347bb Emit a RangeTransition instead of SetTransition if a set has only one interval 2012-07-31 09:07:04 -05:00
Sam Harwell 8c820269e4 Fix IntegerList.binarySearch 2012-07-30 19:24:20 -05:00
Sam Harwell 7d4f71d829 Use IntegerList in the tool 2012-07-30 15:18:07 -05:00
Sam Harwell dcdcad8feb Add IntegerList.addAll overload for Collection<Integer>, add contains, sort, hashCode, equals, toString. 2012-07-30 15:17:02 -05:00
Sam Harwell 3bf99d6d88 Add IntervalSet.toIntegerList(), use IntegerStack to hold mode stack in Lexer 2012-07-30 15:13:26 -05:00
Sam Harwell fa62570737 Add IntegerList and IntegerStack, behaves like ArrayList<Integer> and ArrayDeque<Integer> (mostly) except doesn't require boxing 2012-07-30 15:13:26 -05:00
Terence Parr 9539572ee7 simplify test. 2012-07-21 16:27:00 -07:00
Terence Parr 7a4a269615 fix test so no error due to EOF. 2012-07-21 15:36:56 -07:00
Terence Parr 8c03dbacf8 Resolves #41. EOF cannot follow s. would need s' : s EOF ; for that. updating unit test TestParserExec.testOptional 2012-07-21 15:29:07 -07:00
Sam Harwell 885f6530ad Use chained calls to append instead of string concatenation 2012-07-20 14:52:49 -05:00
Sam Harwell 6259ab5c9e Use StringBuilder instead of StringBuffer 2012-07-20 14:52:48 -05:00
Sam Harwell 2056e019a5 Use HashMap instead of Hashtable 2012-07-20 14:52:47 -05:00
Sam Harwell 44ef41ff29 Remove unnecessary variable initializations 2012-07-20 14:52:46 -05:00
Sam Harwell 6045bd4eb5 Add null check 2012-07-20 14:52:45 -05:00
Sam Harwell 84e1025801 Remove extraneous ';' (empty statement), remove unnecessary null checks and dead code 2012-07-20 14:52:44 -05:00
Sam Harwell 3b9940b02a Use isEmpty() instead of comparing size() with 0 2012-07-20 14:52:43 -05:00
Sam Harwell 2f0029a040 Improved handling of (potentially) null fields 2012-07-20 14:52:14 -05:00
Sam Harwell 4c4f767d17 Prevent NPE after reporting error 2012-07-20 14:52:13 -05:00
Sam Harwell 4c1e9b4119 Improve performance of equals 2012-07-20 14:51:55 -05:00
Sam Harwell 45e42d7243 Parameter to equals can be null 2012-07-20 14:51:54 -05:00
Sam Harwell 3a35f3cb08 Check object type in equals 2012-07-20 14:51:53 -05:00
Sam Harwell 8b4a461262 Merge branch 'ModelElement' 2012-07-18 16:14:14 -05:00
Sam Harwell 29d71acef9 Update documentation 2012-07-18 16:12:37 -05:00
Sam Harwell 589d6bf187 Remove field which hides another field with the same name; add check for this condition to OutputModelWalker 2012-07-18 16:06:33 -05:00
Sam Harwell 45815d97f7 Specifically test for the ModelElement annotation on fields (not just any annotation will do) 2012-07-18 16:06:32 -05:00
Sam Harwell a37f8cf4f1 Add missing license notices 2012-07-18 15:57:48 -05:00
Terence Parr f220212a95 couldn't get Horstmann's routine to do EPS not PS so had to backtrack. 2012-07-14 16:32:04 -07:00