Rob Rix
|
2bc2483af9
|
Define an until combinator.
|
2017-08-06 18:52:42 -04:00 |
|
Rob Rix
|
8d7fb65a4a
|
Better docs for while.
|
2017-08-06 18:52:39 -04:00 |
|
Rob Rix
|
59e6fd621c
|
🔥 stateErrorCounter.
|
2017-08-06 18:52:35 -04:00 |
|
Rob Rix
|
722e5407cd
|
🔥 the grammar parameter from State.
|
2017-08-06 18:52:31 -04:00 |
|
Rob Rix
|
2adbf0cfa1
|
Assign unambiguously.
|
2017-08-06 18:52:24 -04:00 |
|
Rob Rix
|
ac1adfe5bc
|
Uncommitted choices backtrack.
|
2017-08-06 18:52:20 -04:00 |
|
Rob Rix
|
4cba3fd2fc
|
🔥 redundant bindings.
|
2017-08-06 18:52:16 -04:00 |
|
Rob Rix
|
edfb98ff7d
|
Apply both rewrapping functions.
|
2017-08-06 18:52:11 -04:00 |
|
Rob Rix
|
341f806806
|
Remove the fallback from committed choice.
|
2017-08-06 18:52:06 -04:00 |
|
Rob Rix
|
ea26a943e5
|
Simplify catch handling again.
|
2017-08-06 18:52:01 -04:00 |
|
Rob Rix
|
295c933eaa
|
Export nodeError.
|
2017-08-06 18:51:57 -04:00 |
|
Rob Rix
|
b591c63c5d
|
Only attempt error recovery at nodes.
|
2017-08-06 18:51:53 -04:00 |
|
Rob Rix
|
04a9b2dc25
|
Don’t call error handlers for partial matches.
|
2017-08-06 18:51:49 -04:00 |
|
Rob Rix
|
d0677b71b7
|
Disable backtracking in repetitions.
|
2017-08-06 18:51:43 -04:00 |
|
Rob Rix
|
15eee07c5d
|
Revert "Parse unambiguously."
This reverts commit 02875b26dd52b1263f1f78d4e7537f29b20a91c0.
|
2017-08-06 18:51:34 -04:00 |
|
Rob Rix
|
4195cbe5ea
|
Parse unambiguously.
|
2017-08-06 18:51:27 -04:00 |
|
Rob Rix
|
697ccf1154
|
Don’t backtrack for Alt.
|
2017-08-06 18:51:23 -04:00 |
|
Rob Rix
|
07e26d03e2
|
Produce the current state on error.
|
2017-08-06 18:51:19 -04:00 |
|
Rob Rix
|
100dd2f305
|
🔥 MonoLocalBinds.
|
2017-08-06 18:51:09 -04:00 |
|
Rob Rix
|
c3dc25dc55
|
🔥 some redundant Eq constraints.
|
2017-08-06 18:50:46 -04:00 |
|
Rob Rix
|
668f81d655
|
Cache the first set of productions on choices.
|
2017-08-06 18:50:41 -04:00 |
|
Rob Rix
|
86e18af4cd
|
Choose holds an Array of choices.
|
2017-08-06 18:50:16 -04:00 |
|
Rob Rix
|
1a43be18d5
|
Evaluate a few values strictly.
|
2017-08-06 18:50:09 -04:00 |
|
Rob Rix
|
c4a30e9fe6
|
Compute the expected symbols as the first set of the current assignment.
|
2017-08-06 18:50:01 -04:00 |
|
Rob Rix
|
38b9821c1d
|
Define a function computing an assignment’s first set of productions.
|
2017-08-06 18:49:47 -04:00 |
|
Rob Rix
|
7277ea4a3a
|
Turn MonoLocalBinds on for Data.Syntax.
|
2017-08-06 18:49:40 -04:00 |
|
Rob Rix
|
ba5551fb07
|
Merge branch 'faster-union-instance-compilation' into delimited-control
|
2017-08-06 18:47:11 -04:00 |
|
Rob Rix
|
711dcdb203
|
Define GAlign over Union non-inductively.
|
2017-08-06 16:35:53 -04:00 |
|
Rob Rix
|
ba895fec3f
|
Define ToJSONFields over Union non-inductively.
|
2017-08-06 16:32:17 -04:00 |
|
Rob Rix
|
eed5934a21
|
Define the Diffable instance for Unions without induction.
|
2017-08-06 16:25:58 -04:00 |
|
Rob Rix
|
0e19a8ed7b
|
Define ConstructorName without reference to union decomposition.
|
2017-08-06 16:25:13 -04:00 |
|
Rob Rix
|
07c81f114f
|
Move the ConstructorName instance over sums up.
|
2017-08-06 16:25:04 -04:00 |
|
Rob Rix
|
1fa09cebe3
|
Constrain the types in the union instead of constraining the Union.
|
2017-08-06 16:23:27 -04:00 |
|
Rob Rix
|
48d368683c
|
Combine the alternatives using sconcat.
|
2017-08-04 12:27:43 -04:00 |
|
Rob Rix
|
3e95004249
|
Use record wildcards to unpack the state.
|
2017-08-04 12:04:50 -04:00 |
|
Rob Rix
|
a433fe8072
|
Abbreviate the definition of state.
|
2017-08-04 11:29:34 -04:00 |
|
Rob Rix
|
91f149310d
|
Inline assignBy to keep it out of the profile.
|
2017-08-04 11:25:50 -04:00 |
|
Rob Rix
|
8c13aadce0
|
Merge uncommitted choices at the right.
|
2017-08-04 10:47:45 -04:00 |
|
Rob Rix
|
a8d7ee531a
|
Simplify how alternatives append onto Alt rules.
|
2017-08-04 10:45:07 -04:00 |
|
Rob Rix
|
9dd03613f8
|
nodeSymbol & stateNodes cannot be unpacked.
|
2017-08-04 10:43:25 -04:00 |
|
Rob Rix
|
bc930773d1
|
Allow Location rules to participate in committed choices.
|
2017-08-04 10:32:04 -04:00 |
|
Rob Rix
|
fc6b49c4ec
|
Freeze the call stacks for location & projection rules.
|
2017-08-04 10:27:21 -04:00 |
|
Rob Rix
|
ed93b6e1fa
|
Unpack Node fields.
|
2017-08-04 10:11:19 -04:00 |
|
Rob Rix
|
76d57fc192
|
Unpack state fields.
|
2017-08-04 10:09:55 -04:00 |
|
Rob Rix
|
4b1365729b
|
Strictify state fields.
|
2017-08-04 10:08:50 -04:00 |
|
Rob Rix
|
e4bcdf293f
|
Compare the states directly.
|
2017-08-04 10:08:16 -04:00 |
|
Rob Rix
|
a72b1aaaf3
|
Use on to compare the offsets.
|
2017-08-04 10:06:36 -04:00 |
|
Rob Rix
|
2fec9f283a
|
Factor the matched element out.
|
2017-08-04 10:05:58 -04:00 |
|
Rob Rix
|
da988a4c6f
|
Build up repetitions right-recursively.
|
2017-08-04 10:03:38 -04:00 |
|
Rob Rix
|
8406ba35c2
|
Correct the docs.
|
2017-08-04 09:47:45 -04:00 |
|