Terence Parr
ed7d4b1dc1
fail option on predicates work.
2012-10-20 15:57:06 -07:00
Terence Parr
ab6b341942
a few tweaks/comments.
2012-10-20 12:51:36 -07:00
Sam Harwell
1af9b4c338
Simplify and document non-greedy behavior in processAcceptConfigs
2012-10-16 08:01:46 -05:00
Sam Harwell
fb87e4c785
Another fix for non-greedy with closures
2012-10-16 07:53:23 -05:00
Sam Harwell
f9a63b8810
Fix bug in PredictionContext.arrayMerge
2012-10-15 14:57:06 -05:00
Sam Harwell
6fa853c14f
Fixes to LexerATNSimulator.closure, fixes to non-greedy positive closure
2012-10-15 02:01:07 -05:00
Sam Harwell
a40073a8cc
Merge remote-tracking branch 'antlr/master' into non-greedy
2012-10-15 01:58:15 -05:00
Sam Harwell
bbe77782db
Fix state checking in new non-greedy handling
2012-10-15 00:56:25 -05:00
Sam Harwell
aa2223cd6a
Fix assertion in PredictionContext.mergeArrays
2012-10-14 22:40:34 -05:00
Sam Harwell
7c221f13ed
Unify EMPTY_FULL_CTX_INVOKING_STATE and EMPTY_INVOKING_STATE (fixes an array indexing error during closure)
2012-10-14 22:25:11 -05:00
Sam Harwell
025cc6187a
Fix handling of non-greedy blocks in the lexer (uses regex-style non-greedy with unordered alternatives)
2012-10-14 21:46:57 -05:00
Sam Harwell
28b243cda5
BlockEndState links to start state for each block in the ATN (constructed during deserialization)
2012-10-14 21:45:35 -05:00
Sam Harwell
0d30a7a60b
Add ATN representation for non-greedy decisions
2012-10-14 21:45:34 -05:00
Sam Harwell
c68c058280
Implement Array2DHashSet.iterator
2012-10-14 21:45:29 -05:00
Terence Parr
a0ffc84952
Merge branch 'master' into new-conflicting-alts
2012-10-14 18:47:32 -07:00
Terence Parr
327a3a0100
Revert "update comment on consume()"
...
This reverts commit 27a8e5e521
.
2012-10-14 18:46:54 -07:00
Terence Parr
54871d52ff
Revert "let it consume EOF since we sometimes need to match that during prediction"
...
This reverts commit 643edf0263
.
2012-10-14 18:46:43 -07:00
Terence Parr
75a01636d0
got ambiguity reporting set right I think. fixed unit tests to force exact ambig detection.
2012-10-14 18:42:43 -07:00
Terence Parr
e9c83c375f
cleanup and refactor conflict detection code into PredictionMode.
2012-10-14 17:37:15 -07:00
Terence Parr
01bbce6952
full LL is always correct now, if slower. Stops prediction when resolvesToJustOneViableAlt(). SLL always uses heuristic
2012-10-14 13:25:34 -07:00
Terence Parr
e7ece0e90a
got fast prediction termination with exactAmbig option that forces ANTLR to scan ahead until it identifies the true ambiguity.
2012-10-13 18:12:33 -07:00
Terence Parr
d6d3f6f506
missing ambig alt in msg.
2012-10-12 18:07:37 -07:00
Terence Parr
e69734c501
rm loopsSimulateTailRecursion
2012-10-12 17:49:43 -07:00
Terence Parr
2ecfe2671a
size!=cardinality with BitSet.
2012-10-11 20:20:02 -07:00
Terence Parr
f20cd82920
I need EOF edges on rule stop states for start rules.
2012-10-11 18:55:13 -07:00
Terence Parr
1723bbd6f5
no debug
2012-10-11 18:54:26 -07:00
Terence Parr
6654281aab
Merge branch 'master' into new-conflicting-alts
2012-10-11 18:52:22 -07:00
Terence Parr
27a8e5e521
update comment on consume()
2012-10-11 18:51:58 -07:00
Terence Parr
643edf0263
let it consume EOF since we sometimes need to match that during prediction
2012-10-11 18:50:02 -07:00
Terence Parr
badb48a987
almost there.
2012-10-11 18:47:47 -07:00
Terence Parr
058ed51349
initial impl
2012-10-11 13:09:08 -07:00
Terence Parr
ad438a70ac
updated the comments for SLL.
2012-10-11 12:09:38 -07:00
Terence Parr
ebe633a2cc
replace ctor for single ctx and don't merge wildcards when payloads aren't the same. fixes a unit test.
2012-10-08 15:26:56 -07:00
Terence Parr
7bc16f40ea
Merge branch 'prediction-context-fixes' of git://github.com/sharwell/antlr4
2012-10-08 11:37:29 -07:00
Terence Parr
d274650765
add null ptr so start rule it doesn't crash if you label the alternatives.
2012-10-08 11:32:38 -07:00
Sam Harwell
9cea095d81
Fix PredictionContext.mergeRoot placing states in the wrong order
2012-10-08 10:26:48 -05:00
Sam Harwell
f43e3614a8
Fix invoking states for recursion contexts
2012-10-08 07:38:06 -05:00
Sam Harwell
1defbdcc5d
Fix parent pointers in parse trees for nested recursion contexts
2012-10-07 23:01:26 -05:00
Terence Parr
05f1dc0d26
tweak
2012-10-01 16:09:18 -07:00
Sam Harwell
69c20f3cf6
Only perform array copy when necessary
2012-10-01 15:30:28 -05:00
Sam Harwell
3457cc73ea
Significant updates to UnbufferedCharStream to meet the IntStream and CharStream interface requirements
2012-10-01 15:29:51 -05:00
Sam Harwell
cd25890486
Many updates to UnbufferedTokenStream:
...
* Fix LT(-1) after a seek operation
* Prevent consume() after EOF is reached
* Use the EOF token provided by the TokenSource (no need to create a new one)
* Fix assigned token index when marks are in place and when add() is called by derived types
* Throw exception for some invalid use of mark/release/seek
* Prevent fill() from adding multiple EOF tokens
* Remove diagnostic println
* Updated field documentation
* Implement getTokenSource
2012-10-01 15:24:00 -05:00
Sam Harwell
5637a04eec
Extensively document the IntStream, CharStream, and TokenStream interfaces
2012-10-01 14:52:30 -05:00
Sam Harwell
fa3e6e5867
Move CharStream.EOF to IntStream.EOF
2012-10-01 14:09:11 -05:00
Sam Harwell
fa7015f798
Move test helper methods out of exposed UnbufferedCharStream API
2012-10-01 11:53:04 -05:00
Sam Harwell
1c65bcd02f
Move test helper methods out of exposed UnbufferedTokenStream API
2012-10-01 08:25:46 -05:00
Terence Parr
68dd847c04
* Fixed the unbuffered streams, which actually buffered everything
...
up by mistake. tweaked a few comments.
* Added a getter to IntStream for the token factory
2012-09-30 16:45:30 -07:00
Terence Parr
9845e4ff20
rm redundant field.
2012-09-30 12:46:01 -07:00
Terence Parr
ac29e6cdac
got unbufferedchar working I think.
2012-09-30 12:37:35 -07:00
Terence Parr
db1bfa9c03
ParserATNSimulator wasn't using Token type param.
2012-09-29 16:58:51 -07:00