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
8e8d1a1794
🔥 a redundant import.
2017-07-28 14:46:56 -04:00
Rob Rix
7da8799e08
🔥 Prologue & protolude.
2017-07-28 14:37:02 -04:00
Rob Rix
3646ab2b15
Renderers produce Output.
2017-07-28 11:23:55 -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
Timothy Clem
26f9b77e8e
Merge branch 'master' into python-assignment-fixes
2017-07-24 10:45:05 -07:00
Rob Rix
d6beb353fa
🔥 unused imports.
2017-07-23 16:08:05 -04:00
Rob Rix
ba68f866fd
Remove the leaf type parameter from SyntaxDiff.
2017-07-23 15:59:02 -04:00
Rob Rix
aa8ebfcd73
Remove the leaf type parameter from SyntaxTerm.
2017-07-23 15:56:08 -04:00
Rob Rix
0ba3264f32
Remove the leaf type parameter from Syntax.
2017-07-23 15:46:29 -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
ed525a310f
Finally clauses can have multiple statements/expressions
2017-07-21 15:46:17 -07:00
Timothy Clem
618165452a
With statements with multiple withItems and partial withItems
2017-07-21 15:46:04 -07:00
Timothy Clem
1ab0701df2
Allow comments in pairs
2017-07-21 15:10:31 -07:00
Timothy Clem
8831317423
Fix issues with with
and multiple body statements
2017-07-21 15:01:01 -07:00
Timothy Clem
4461cb1542
Move yield to top level
2017-07-21 14:59:19 -07:00
Timothy Clem
22bdce0c46
Relax identifier to expression
2017-07-21 14:25:14 -07:00
Timothy Clem
f7202b23c8
Allow assignment of KeywordIdentifier
2017-07-21 14:17:22 -07:00
Timothy Clem
5d1720f93c
Merge remote-tracking branch 'origin/master' into fix-some-python-assignment-errors
2017-07-21 09:47:16 -07: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
6bf440d240
Python elif and else need to take multiple statements too
2017-07-20 11:42:56 -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
Timothy Clem
0b23bf901f
Use const
2017-07-20 09:32:24 -07:00
Timothy Clem
4cdac77633
Test out catchError
2017-07-20 09:32:24 -07:00