Rob Rix
|
73f3384de9
|
Rename Fail to Empty.
|
2017-04-07 09:44:31 -04:00 |
|
Rob Rix
|
d772a5c0aa
|
Test repetitions.
|
2017-04-07 09:44:13 -04:00 |
|
Rob Rix
|
b8e4cb7471
|
Tidy up the nullability rules.
|
2017-04-07 09:44:02 -04:00 |
|
Rob Rix
|
9b69f3aae8
|
Define nullability for alternations.
|
2017-04-07 09:37:13 -04:00 |
|
Rob Rix
|
c44fb8a5c3
|
Generalize the fixture builder.
|
2017-04-07 09:16:57 -04:00 |
|
Rob Rix
|
2b460b223c
|
Note the need for a nullability test.
|
2017-04-07 09:14:28 -04:00 |
|
Rob Rix
|
830c8f8c94
|
Use a helper to construct the expected AST values.
|
2017-04-07 09:14:03 -04:00 |
|
Rob Rix
|
8d536fa825
|
Programs have zero or more declarations.
|
2017-04-06 16:01:01 -04:00 |
|
Rob Rix
|
761992e1fe
|
Test that matches are performed in sequence.
|
2017-04-06 14:36:19 -04:00 |
|
Rob Rix
|
fe55642e6b
|
Test that multiple alternatives are matched against.
|
2017-04-06 14:25:21 -04:00 |
|
Rob Rix
|
ac8d473e8e
|
Simplify how children assignments are applied.
|
2017-04-06 14:22:38 -04:00 |
|
Rob Rix
|
5b1d68ae80
|
Derive Foldable instances for syntaxes.
|
2017-04-06 14:19:15 -04:00 |
|
Rob Rix
|
b0700242ee
|
Define Foldable instances for Unions.
|
2017-04-06 14:16:10 -04:00 |
|
Rob Rix
|
68724970d0
|
Rename the test.
|
2017-04-06 14:13:09 -04:00 |
|
Rob Rix
|
ecdb6a1d59
|
Test that we can match a comment.
|
2017-04-06 13:36:54 -04:00 |
|
Rob Rix
|
049df31589
|
Define Show1 instances for most of the syntax types.
|
2017-04-06 13:36:43 -04:00 |
|
Rob Rix
|
8dd1745c56
|
Define (incorrect) GShow1 instances for constructors and selectors.
|
2017-04-06 13:34:57 -04:00 |
|
Rob Rix
|
c62bbc17b1
|
Define GShow1 lifted over compositions.
|
2017-04-06 11:52:08 -04:00 |
|
Rob Rix
|
4fe7be91c5
|
Define GShow1 lifted over products.
|
2017-04-06 11:52:00 -04:00 |
|
Rob Rix
|
ea3649ea79
|
Define GShow1 lifted over sums.
|
2017-04-06 11:49:51 -04:00 |
|
Rob Rix
|
2996bd8561
|
Define a bunch of obvious GShow1 instances for generic representation types.
|
2017-04-06 11:48:50 -04:00 |
|
Rob Rix
|
bcfd99afde
|
Define a few GShow1 instances for types with Show1 instances.
|
2017-04-06 11:43:18 -04:00 |
|
Rob Rix
|
d9abc56818
|
Define generic implementations for Show1.
|
2017-04-06 11:43:01 -04:00 |
|
Rob Rix
|
467c808616
|
Define a GShow1 typeclass.
|
2017-04-06 11:42:47 -04:00 |
|
Rob Rix
|
ebb97d8a75
|
Stub in a module for a generic Show1.
|
2017-04-06 11:34:50 -04:00 |
|
Rob Rix
|
904b32092a
|
Define a Show1 instance for Union.
|
2017-04-06 11:33:23 -04:00 |
|
Rob Rix
|
368a8a498d
|
Define Generic1 & Eq1 instances for declarations.
|
2017-04-06 11:29:56 -04:00 |
|
Rob Rix
|
ae2b122b85
|
Define Generic1 & Eq1 instances for statements.
|
2017-04-06 11:27:51 -04:00 |
|
Rob Rix
|
30ffbe6421
|
Define Generic1 & Eq1 instances for literals.
|
2017-04-06 11:21:35 -04:00 |
|
Rob Rix
|
3d1feb70a4
|
Define an Eq1 instance for empty unions.
These can never be constructed, so we just return False in case somebody decides to apply this to bottom.
|
2017-04-06 11:19:57 -04:00 |
|
Rob Rix
|
349214b5c5
|
Compositions of functors use the appropriate Eq1 instance.
|
2017-04-06 11:19:21 -04:00 |
|
Rob Rix
|
3f093df987
|
Recursive applications depend on an Eq1 instance.
|
2017-04-06 10:50:12 -04:00 |
|
Rob Rix
|
828c7da001
|
Define Eq1 instances for Leaf, Branch, and Identifier.
|
2017-04-06 10:40:49 -04:00 |
|
Rob Rix
|
5166900702
|
Define an Eq1 instance for Comment.
|
2017-04-06 10:39:22 -04:00 |
|
Rob Rix
|
7f401c4e08
|
Re-export Eq1 from the generic module.
|
2017-04-06 10:27:00 -04:00 |
|
Rob Rix
|
6163caf82a
|
Define an Eq1 instance for Union.
|
2017-04-06 10:19:09 -04:00 |
|
Rob Rix
|
fbcc5e7c43
|
Derive Eq & Show instances for Node.
|
2017-04-06 10:16:48 -04:00 |
|
Rob Rix
|
83d0248500
|
Stub in a module for tests of Ruby syntax assignment.
|
2017-04-06 10:09:12 -04:00 |
|
Rob Rix
|
b2d5e7eac1
|
Take a stab at assigning method declarations.
|
2017-04-06 09:43:12 -04:00 |
|
Rob Rix
|
376de45263
|
Take a stab at assigning class declarations.
|
2017-04-06 09:40:47 -04:00 |
|
Rob Rix
|
ecc1c075a6
|
Ruby can contain identifiers.
|
2017-04-06 09:39:44 -04:00 |
|
Rob Rix
|
4c959d4635
|
Define Identifier syntax.
|
2017-04-06 09:23:52 -04:00 |
|
Rob Rix
|
9afc6986cc
|
Add a bunch more productions.
|
2017-04-06 09:21:20 -04:00 |
|
Rob Rix
|
3afba97601
|
Note the inefficiency of Alt.
|
2017-04-05 22:24:57 -04:00 |
|
Rob Rix
|
31940f376f
|
Add a bunch more production symbols.
|
2017-04-05 21:40:10 -04:00 |
|
Rob Rix
|
43eba62216
|
Define an alternative instance for Assignment.
|
2017-04-05 21:34:58 -04:00 |
|
Rob Rix
|
8af3b80138
|
📝 stepAssignment.
|
2017-04-05 21:22:28 -04:00 |
|
Rob Rix
|
0a4dc5a5d1
|
📝 the Assignment combinators.
|
2017-04-05 21:21:35 -04:00 |
|
Rob Rix
|
ddba2b53cd
|
Define small-step semantics for assignment.
|
2017-04-05 21:16:09 -04:00 |
|
Rob Rix
|
bca1bf08d8
|
Define a failure combinator.
This is kind of a stand-in.
|
2017-04-05 21:15:58 -04:00 |
|