Terence Parr
|
1d92b311ce
|
Merge branch 'master' into main
|
2012-08-13 12:38:00 -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 |
Terence Parr
|
2d62b73a14
|
Merge branch 'master' into main
|
2012-08-06 17:11:38 -07: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 |
Terence Parr
|
492980de71
|
Merge branch 'master' into main
|
2012-08-04 21:31:37 -07: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
|
0d92c25056
|
improve hashCode
|
2012-08-04 14:38:57 -07:00 |
Terence Parr
|
1bec176eaa
|
Impl Sam's no viable alt avoidance idea that chooses min alt that dips into outer context. unit test
|
2012-08-04 14:18:57 -07:00 |
Terence Parr
|
6d12cbfddb
|
fix regression; didn't work with stdin
|
2012-08-04 13:50:52 -07:00 |
Terence Parr
|
c2b49bd94e
|
pull in Sam's ATN alt collapsing optimizations with optimizeStates off as it causes a class cast exception.
|
2012-08-04 13:32:07 -07:00 |
Terence Parr
|
c7d1ea7e23
|
Merge remote-tracking branch 'sharwell/atn-optimization'
|
2012-08-04 12:08:43 -07:00 |
Terence Parr
|
b7b2a45c8b
|
update comments
|
2012-08-04 12:00:13 -07:00 |
Terence Parr
|
b160a3b14d
|
caching more operations in mergeCache, updated comments, added null chk in front of mergeCache ops.
|
2012-08-04 11:04:21 -07:00 |
Terence Parr
|
88dedbd1e0
|
added mergeArray cache, which didnt help java much but made massive diff to Go grammar. a file, nat.go, went from 2min to 3s in speed. Fixed bug where SLL had preds but they ORd to NONE. made it resolve to min alt. DoubleKeyMap moved to runtime.
|
2012-08-03 20:27:23 -07:00 |
Terence Parr
|
8a0af228d8
|
Revert "fix null ptr"
This reverts commit 95f5d858cb .
|
2012-08-03 18:27:57 -07:00 |
Terence Parr
|
b8c2f5b75b
|
added var for sll loop tail recursion default value; updated unit tests
|
2012-08-03 18:27:26 -07:00 |
Terence Parr
|
e7b65057a6
|
added var for sll loop tail recursion default value; updated unit tests
|
2012-08-03 18:12:52 -07:00 |
Terence Parr
|
95f5d858cb
|
fix null ptr
|
2012-08-03 16:56:41 -07: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
|
54a3759412
|
LexerATNSimulator and ParserATNSimulator switch on result of getSerializationType() instead of performing multiple type checks
|
2012-08-03 08:24:24 -05:00 |
Terence Parr
|
86e47b9c02
|
update comments to explain SLL vs LL, predicate strategy, etc... (and did a small tweak in code)
|
2012-08-02 18:23:11 -07:00 |
Terence Parr
|
06d7c150fd
|
slow again since i had to remove full LL context->alt cache (wasn't correct). But, threaded now makes bigger diff than before.
|
2012-08-02 17:01:53 -07: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 |
Terence Parr
|
754e6eb593
|
mirrored parser ATN sim changes in lexer ATN sim for thread safety. reduced contention for contextCache.
|
2012-08-01 18:25:25 -07:00 |
Terence Parr
|
b0b30fec68
|
cleanup
|
2012-08-01 18:05:47 -07:00 |
Terence Parr
|
ff24630494
|
add cmt
|
2012-08-01 15:03:32 -07:00 |
Terence Parr
|
b0c9a9c7c2
|
tried optimization concerning recomputing DFA states in DFA, but didn't help much. left in as comment for now.
|
2012-08-01 14:51:37 -07:00 |
Terence Parr
|
80560efcf8
|
wow. i think i got threaded working. rm readwrite lock, sync add add to shared context and add dfa state
|
2012-07-31 19:39:31 -07:00 |
Terence Parr
|
3d2cbe087d
|
refactoring
|
2012-07-31 18:54:00 -07:00 |
Terence Parr
|
abb268416e
|
Merge branch 'master' into main
|
2012-07-31 18:34:33 -07:00 |
Terence Parr
|
b8f7acdeac
|
refactor to create DFAState target, fill it in, then add to DFA only after it's complete. Combine some helper methods. simpler.
|
2012-07-31 18:26:39 -07:00 |
Terence Parr
|
fedb7c105b
|
tweaks
|
2012-07-30 22:24:12 -07:00 |
Terence Parr
|
85ea296632
|
added D2 as dup temp of D state. almost ready to change position of addDFAState
|
2012-07-30 22:15:09 -07:00 |
Sam Harwell
|
8c820269e4
|
Fix IntegerList.binarySearch
|
2012-07-30 19:24:20 -05:00 |
Terence Parr
|
c893f2af08
|
Pulled Sam's new IntegerList
|
2012-07-30 15:20:43 -07: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
|
c0ece0bd09
|
add read/write lock to lexer.
|
2012-07-29 17:21:10 -07:00 |
Terence Parr
|
8836e13954
|
use ReentrantReadWriteLock to sync. works much better but still occasional illegal monitor state :(
|
2012-07-29 17:01:41 -07:00 |
Terence Parr
|
f5f6715a07
|
back to core sync around creating DFA in decisionToDFA. not thread-safe for dfa update.
|
2012-07-29 14:33:18 -07:00 |
Terence Parr
|
9bcfc83678
|
adding full LL prediction in DFAState from ctx -> predicted alt. Drops from 17s to 12s and costs only 4M more ram. woot!
|
2012-07-29 13:30:18 -07:00 |
Terence Parr
|
79594a942e
|
synchronized lexer. just as fast now to build new parser/lexer each iter in TestJavaLR
|
2012-07-29 10:48:08 -07:00 |
Terence Parr
|
ceab49e3ce
|
rm for now
|
2012-07-29 10:12:09 -07:00 |