1
1
mirror of https://github.com/github/semantic.git synced 2024-12-23 23:11:50 +03:00
Commit Graph

11363 Commits

Author SHA1 Message Date
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
Rob Rix
c265eeb4c9 🔥 the Child term. 2017-04-05 21:15:32 -04:00
Rob Rix
37525402de Define a type synonym for AST. 2017-04-05 21:05:11 -04:00
Rob Rix
4000319ae2 Define a placeholder input syntax node type. 2017-04-05 21:05:03 -04:00
Rob Rix
1242721981 Define a rose tree type. 2017-04-05 21:04:50 -04:00
Rob Rix
a3dee74ac0 Children assignment takes an assignment to map over the children. 2017-04-05 21:03:02 -04:00