Terence Parr
|
feb41eee15
|
fix a few unit tests.
|
2012-07-31 19:09:40 -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 |
Sam Harwell
|
170a8347bb
|
Emit a RangeTransition instead of SetTransition if a set has only one interval
|
2012-07-31 09:07:04 -05: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
|
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
|
c0ece0bd09
|
add read/write lock to lexer.
|
2012-07-29 17:21:10 -07:00 |
Terence Parr
|
489f3d17cb
|
tweak
|
2012-07-29 17:04:05 -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
|
4fe9efeb85
|
tweak tester
|
2012-07-29 14:28:59 -07:00 |
Terence Parr
|
c97f36bd89
|
reorg workers
|
2012-07-29 13:45:41 -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
|
230b687b03
|
add barrier
|
2012-07-29 13:03:10 -07:00 |
Terence Parr
|
5712424156
|
create 2 worker threads for testjavalr
|
2012-07-29 12:28:29 -07:00 |
Terence Parr
|
7181483bbf
|
test javalr does -2x now
|
2012-07-29 10:57:51 -07:00 |
Terence Parr
|
510c1c0dd9
|
clean up
|
2012-07-29 10:50:14 -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 |
Terence Parr
|
e3e739dfc7
|
The lexer and parser ATN simulators' adaptivePredict now synchronize on the specific DFA of the decision to be simulated. This should prevent a lot of contention that would occur if we synchronize the entire adaptivePredict method. When the individual DFA are created, we also synchronize on the shared DFA[] table quickly to create a DFA and insert it into the array. Code generation modified to have _decisionToDFA generated at the top of both the parser and the lexer. Simulators created now with the recognizer, ATN, DFA[]. Not sure the LexerInterp/ParserInterp work but pushing ahead anyway for the moment.
|
2012-07-29 09:49:35 -07:00 |
Terence Parr
|
8c8752a7b2
|
print file names if > 1 file
|
2012-07-28 18:33:21 -07:00 |
Terence Parr
|
3f26d42d53
|
add Sam's getConflictingAlts potential bug fix as comment
|
2012-07-28 18:33:05 -07:00 |
Terence Parr
|
109880b7ab
|
added ALIAS_REASSIGNMENT warning so redef of string literal among rules caught. First literal goes to .tokens.
|
2012-07-28 14:24:39 -07:00 |
Terence Parr
|
68275eb998
|
rm singleton set; didn't help.
|
2012-07-28 13:23:52 -07:00 |
Terence Parr
|
ee233f7dd3
|
add -SLL option, allow multiple input files, reuse same parser/lexer.
|
2012-07-28 13:07:51 -07:00 |
Terence Parr
|
75fd3264ff
|
adding new equivalence class support code and new SingletonSet
|
2012-07-28 11:53:40 -07:00 |
Terence Parr
|
680df17280
|
rm transient context cache for closure computations; slight speed improvement maybe. less complex.
|
2012-07-28 10:51:07 -07:00 |
Terence Parr
|
eda95f7478
|
DFA cache on again; dropped from 25 to 16M!!!
|
2012-07-28 10:34:34 -07:00 |
Terence Parr
|
8a301f59f8
|
try making smaller config list.
|
2012-07-28 10:29:04 -07:00 |
Terence Parr
|
2ee5a2f3ae
|
release entire ConfigHashSet upon readonly. sames some mem and is faster.
|
2012-07-27 22:38:43 -07:00 |
Terence Parr
|
7ff5544573
|
wipe out config lookup in ATNConfigSet when it goes readonly.
|
2012-07-27 22:20:23 -07:00 |
Terence Parr
|
54fd28c29d
|
add() was wrong
|
2012-07-27 21:03:41 -07:00 |
Terence Parr
|
8279c3da11
|
turn on local context cache.
|
2012-07-27 20:53:10 -07:00 |
Terence Parr
|
14372f2515
|
only 14 unit tests fail.
|
2012-07-27 17:38:02 -07:00 |
Terence Parr
|
b8f072e231
|
rebuilt new hashtable as T[][]
|
2012-07-27 17:18:33 -07:00 |
Terence Parr
|
b843d6cf59
|
initial new hash table impl.
|
2012-07-27 14:51:07 -07:00 |
Terence Parr
|
b83c90af2f
|
play with atnconfigset fields
|
2012-07-27 14:50:36 -07:00 |
Terence Parr
|
9445d1fdd6
|
update comment
|
2012-07-27 10:38:43 -07:00 |
Terence Parr
|
26165c5d54
|
atnconfigsets can be readonly now. no copying to put into new DFA state, set readonly instead. made atnconfigset.equals() more accurate. add -notree option to test java lr
|
2012-07-27 10:34:59 -07:00 |
Terence Parr
|
093af0edce
|
update comment
|
2012-07-26 18:26:17 -07:00 |
Terence Parr
|
6322ff3abd
|
add comment
|
2012-07-26 18:17:05 -07:00 |
Terence Parr
|
0e24a66f07
|
reduce memory usage by creating LexerATNConfig a subclass with the lexer action index. saves about 2M on java.* with javalr.
|
2012-07-26 17:51:02 -07:00 |
Terence Parr
|
3c7b4c2a33
|
big cleanup.
|
2012-07-26 17:28:10 -07:00 |