Rob Rix
8faf9f60be
Correct the tests.
2017-08-06 19:40:45 -04:00
Rob Rix
6c1e9afbb0
Errors hold Spans now.
2017-08-06 19:32:38 -04:00
Rob Rix
1ab9a13c6d
Ignore the state in the error callback spec.
2017-08-06 19:31:44 -04:00
Rob Rix
5129bc5418
We don’t need to qualify these.
2017-08-06 19:31:15 -04:00
Rob Rix
65a134f3c8
Derive Ord & Ix instances for the specs’ Grammar type.
2017-08-06 19:29:43 -04:00
Rob Rix
c1596f942d
Assignment errors can be strings.
2017-08-06 18:56:01 -04:00
Rob Rix
59e6fd621c
🔥 stateErrorCounter.
2017-08-06 18:52:35 -04:00
Rob Rix
07e26d03e2
Produce the current state on error.
2017-08-06 18:51:19 -04:00
Rob Rix
35f92f98c3
Fix a test now that we always try the error handler on errors.
2017-08-04 09:21:59 -04:00
Rob Rix
0a8411e534
Disambiguate assignment results.
2017-08-04 09:11:22 -04:00
Rob Rix
68d3a265ae
Fix a test with ambiguous results.
2017-08-04 08:58:28 -04:00
Rob Rix
61087b394e
Fix a test case which now succeeds.
2017-08-04 08:54:04 -04:00
Rob Rix
71642ae1bd
Fix a test case which fails at the end of input.
2017-08-04 08:52:08 -04:00
Rob Rix
9e1aad5032
Fix a test case which fails with the earlier error.
2017-08-04 08:50:56 -04:00
Rob Rix
e9e9c54fa1
Correct a spec.
2017-08-03 21:32:47 -04:00
Rob Rix
47a3f1e713
Correct the tests.
2017-08-03 21:32:11 -04:00
Rob Rix
cabab1f9ed
Check advancement using the state offset instead of the counter.
2017-08-03 21:29:22 -04:00
Rob Rix
9bfe67afd9
🔥 stateError.
2017-08-03 21:26:43 -04:00
Rob Rix
030b2967c3
Add a monotonic counter of the number of error handlers invoked.
2017-08-03 20:21:42 -04:00
Rob Rix
766e75c3b6
Correct the tests.
2017-08-03 19:48:24 -04:00
Rob Rix
fa87a249ad
Revert "Use the state nodes to indicate that we’ve advanced past nodes.."
...
This reverts commit b2485da5199703d48d11ccf6b2374712b5067ded.
2017-08-03 15:38:11 -04:00
Rob Rix
adb84e33f4
Use the state nodes to indicate that we’ve advanced past nodes..
2017-08-03 13:13:37 -04:00
Rob Rix
d041dad599
Fix some missing imports.
2017-08-03 12:06:03 -04:00
Rob Rix
2529288f87
Merge branch 'master' into requiem-for-a-protolude
2017-08-03 11:51:09 -04:00
Rob Rix
c82bf8f033
Test that error call stacks point at the failing assignments.
2017-08-02 12:21:56 -04:00
Rob Rix
19850efea1
Add callstacks to the spec rules.
2017-08-02 12:11:14 -04:00
Rob Rix
7da8799e08
🔥 Prologue & protolude.
2017-07-28 14:37:02 -04:00
Rob Rix
aa15a97d3e
Test matching of alternations around pure.
2017-07-27 09:36:13 -04:00
Rob Rix
49449f5be2
Test that alternation distributes through committed choice & is nullable.
2017-07-26 18:42:36 -04:00
Rob Rix
a5236753e0
Test that alternation distributes through committed choice and matches single values.
2017-07-26 18:42:18 -04:00
Rob Rix
4038d4b1a3
Test that alternation distributes through committed choices and matches repeated values.
2017-07-26 18:41:24 -04:00
Rob Rix
2888a0d7f5
Test that committed choices of repetitions are nullable.
2017-07-26 18:40:19 -04:00
Rob Rix
786e6f6e60
Make sure that we match both when alternating repetitions.
2017-07-26 17:43:39 -04:00
Rob Rix
27f6d2ed25
Test that alternation distributes through children rules.
2017-07-26 12:14:12 -04:00
Rob Rix
898e119af9
Test that alternations of repetitions succeed.
2017-07-26 12:02:18 -04:00
Rob Rix
5c0d27c1a2
Test that overlapping choices match the right branch.
...
This currently fails due to the left-biased nature of how we merge committed choices.
2017-07-26 11:11:15 -04:00
Rob Rix
6e1be163b3
Test that overlapping choices match the left branch.
2017-07-26 11:09:52 -04:00
Rob Rix
32c03be782
Rename AssignmentState to State.
2017-07-22 16:13:42 -04:00
Rob Rix
09787f5e93
Combine the Error constructors.
2017-07-22 15:43:48 -04:00
Rob Rix
a04a05cf1a
Combine ErrorCause into Error.
2017-07-22 15:31:43 -04:00
Rob Rix
83a0d9c60e
Swap the order of the source & assignment.
2017-07-22 14:06:07 -04:00
Rob Rix
455f912941
Swap the order of the projection & source.
2017-07-22 14:04:52 -04:00
Rob Rix
d464da8089
runAssignment is exhaustive.
2017-07-22 13:59:45 -04:00
Timothy Clem
9f20e57740
Spacing
2017-07-21 09:08:57 -07:00
Timothy Clem
2f9f9f5752
Merge remote-tracking branch 'origin/master' into remove-sourceState
2017-07-21 09:07:33 -07:00
Timothy Clem
b934b97f27
s/Palatte/Palette
2017-07-21 09:00:30 -07:00
Timothy Clem
2880052c15
Remove sourceState from AssignmentState
2017-07-20 10:23:21 -07:00
Timothy Clem
1183c0265a
err no longer used in these specs
2017-07-20 09:36:41 -07:00
Timothy Clem
6b1a3b0efd
Fix zero width repetitions infinite loop
...
Introduces a stateCounter to detect progress and accepts one and only one zero width match.
Refactored tests a bit to not assert internal state unless specifically necessary.
2017-07-20 09:32:24 -07:00
Timothy Clem
ee0fb33a94
Demonstrate infinite loop with many (pure x)
2017-07-20 09:32:24 -07:00