1
1
mirror of https://github.com/github/semantic.git synced 2024-12-22 14:21:31 +03:00
Commit Graph

11917 Commits

Author SHA1 Message Date
Rob Rix
0bf52e3dde Result has field selectors. 2017-04-28 15:54:34 -04:00
Rob Rix
8872a7ec6a Errors record the symbol of the current node (if any). 2017-04-28 15:49:00 -04:00
Rob Rix
0168773814 Results hold errors instead of text. 2017-04-28 15:45:13 -04:00
Rob Rix
3d1e74bf4e Define an Error datatype. 2017-04-28 15:34:18 -04:00
Rob Rix
250d095598 Result only has one case. 2017-04-28 15:31:23 -04:00
Rob Rix
a988d54ed6 Propagate errors from alternations. 2017-04-28 15:26:19 -04:00
Rob Rix
eb089bb571 Successful results can hold errors. 2017-04-28 15:24:42 -04:00
Rob Rix
ec8be238d1 Children assignments continue after the last child assignment. 2017-04-28 15:19:55 -04:00
Rob Rix
ca0d4328ff Return the final state from assignAllFrom. 2017-04-28 15:18:33 -04:00
Rob Rix
a14b241a35 Merge pull request #1089 from github/committed-choice
Committed choice
2017-04-27 20:03:24 -04:00
Rob Rix
d1b088eda5 Work around the lack of Show1 for IntMap in lts. 2017-04-26 18:39:39 -04:00
Rob Rix
d6b7e408e3 Don’t add a newline after the caret. 2017-04-26 15:27:30 -04:00
Rob Rix
f991988eea Show the source of errors. 2017-04-26 14:54:29 -04:00
Rob Rix
d9d7f98921 Consolidate error reporting. 2017-04-26 14:37:07 -04:00
Rob Rix
dfab45dc65 Tidy up handling of Empty rules. 2017-04-26 13:50:45 -04:00
Rob Rix
59be638d70 🔥 the unlawful Monad instance for Result. 2017-04-26 13:40:03 -04:00
Rob Rix
52aa3800b7 Don’t use Result’s Monad instance for Children rules. 2017-04-26 13:39:42 -04:00
Rob Rix
d2da6e1ad7 Move the Alt rule down to reflect constructor order. 2017-04-26 13:37:48 -04:00
Rob Rix
89b30a5124 Pull the Choose case up a level. 2017-04-26 13:36:57 -04:00
Rob Rix
095e279380 Pull the Children case up a level. 2017-04-26 13:35:21 -04:00
Rob Rix
a6b5fa0634 Pull the Source case up a level. 2017-04-26 13:33:52 -04:00
Rob Rix
f781118abb Move the location at end case up. 2017-04-26 13:32:24 -04:00
Rob Rix
2db005505e Pull the Location case up a level. 2017-04-26 13:31:26 -04:00
Rob Rix
3de156447f Match against the nodes. 2017-04-26 13:30:07 -04:00
Rob Rix
e9bff3be5a Use the where clause’s binding for the source. 2017-04-26 13:28:34 -04:00
Rob Rix
4103936ca2 Use the where clause’s binding for the offset. 2017-04-26 13:28:04 -04:00
Rob Rix
b392c9d6b7 Bind the post-drop state in the where clause. 2017-04-26 13:24:04 -04:00
Rob Rix
a430b444f5 Pull the runAssignment iterator into the where clause. 2017-04-26 13:23:07 -04:00
Rob Rix
e67f5a9398 Guard terms with symbols. 2017-04-26 13:19:10 -04:00
Rob Rix
296717777d Rearrange leaf to put the fmap first. 2017-04-26 13:18:40 -04:00
Rob Rix
b9027441e2 Use the leaf combinator to assign constants and identifiers. 2017-04-26 12:37:13 -04:00
Rob Rix
34e945d1fa Use the leaf combinator to assign literals & comments. 2017-04-26 12:34:34 -04:00
Rob Rix
620b1ebd49 Flip leaf’s argument order. 2017-04-26 12:33:51 -04:00
Rob Rix
860138fe19 🔥 an extra space. 2017-04-26 12:33:37 -04:00
Rob Rix
129d962041 Add a leaf combinator. 2017-04-26 12:31:00 -04:00
Rob Rix
c2df871607 Replace Symbol with a unary Choose. 2017-04-26 12:17:43 -04:00
Rob Rix
d583b3cfcc Prevent forgetting to shadow the initial state. 2017-04-26 12:11:03 -04:00
Rob Rix
677031daaa Choices’ errors note the choice. 2017-04-26 12:07:33 -04:00
Rob Rix
77fe6aff31 empty is the left- and right-identity of <|>. 2017-04-26 12:05:49 -04:00
Rob Rix
ffe7b2ff66 Handle alternations of choices on both sides. 2017-04-26 12:04:34 -04:00
Rob Rix
38a92b7eda Handle alternations of choices on the right. 2017-04-26 12:00:51 -04:00
Rob Rix
c85081ea6b Show the symbol when choice fails. 2017-04-26 11:58:03 -04:00
Rob Rix
ffbca016db Avoid revisiting anonymous nodes. 2017-04-26 11:47:53 -04:00
Rob Rix
e89ea96739 Test the specific error message we get for cascading children failures. 2017-04-26 11:45:58 -04:00
Rob Rix
d57df3f5fb Show a better error for symbol rules. 2017-04-26 11:44:53 -04:00
Rob Rix
61b3e3c71f Show a better error for symbol rules at end of input. 2017-04-26 11:40:59 -04:00
Rob Rix
6010bcb439 Show a better error for committed choice at end of input. 2017-04-26 11:39:32 -04:00
Rob Rix
b7d84470fb Extract how we show choices into the where clause. 2017-04-26 11:37:00 -04:00
Rob Rix
b7899248d5 🔥 a redundant FIXME. 2017-04-26 11:34:43 -04:00
Rob Rix
2154e4a4ad Construct committed choices using the Alternative interface. 2017-04-26 11:29:24 -04:00