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

8087 Commits

Author SHA1 Message Date
Rob Rix
5886098f65 Tighten up the assignment into the IntMap. 2017-07-26 16:19:25 -04:00
Rob Rix
7cbb8ff498 Rename the parameters. 2017-07-26 12:47:10 -04:00
Rob Rix
682bb5540d Reindent the choices case. 2017-07-26 12:45:23 -04:00
Rob Rix
96ef8d00bc Distribute alternation through children rules. 2017-07-26 12:10:07 -04:00
Rob Rix
3cbedc59a2 Distribute alternation through overlapping choices. 2017-07-26 11:11:44 -04:00
Rob Rix
2d264d4d44 Explicitly use the union operator. 2017-07-26 11:02:29 -04:00
Timothy Clem
26f9b77e8e Merge branch 'master' into python-assignment-fixes 2017-07-24 10:45:05 -07:00
Timothy Clem
fbad9eb01b Alphabetize alternates 2017-07-24 10:44:50 -07:00
Rob Rix
62af1aef30 🔥 an obsolete documentation comment. 2017-07-24 13:20:57 -04:00
Rob Rix
2d606aa934 Merge branch 'master' into simpler-monolithic-syntax 2017-07-24 13:20:14 -04:00
Rob Rix
20cdc2d480 Merge branch 'master' into serialize-concurrent-logging 2017-07-24 12:45:48 -04:00
Rob Rix
5e469a398c 📝 why we capture toNode & source in the top-level definition, but assignment and state in a lambda. 2017-07-24 12:40:09 -04:00
Rob Rix
7a28acf858 Capture the assignment & state in a lambda. 2017-07-24 12:39:52 -04:00
Rob Rix
3ac3002273 Rewrite go in pointful style for better inlining behaviour. 2017-07-24 12:31:55 -04:00
Rob Rix
103c0b9d1d Backtrack with a lambda. 2017-07-24 12:30:36 -04:00
Rob Rix
b83366c2d1 Revert "Revert "Lift the operations in Files to MonadIO.""
This reverts commit 8adcb0fba5275ecde11781256b69b43f601f1037.
2017-07-23 16:17:39 -04:00
Rob Rix
0c9bc34a1c Revert "Lift the operations in Files to MonadIO."
This reverts commit 11915d97bf6083c8f4cffaa5cb18b3341e89de48.
2017-07-23 16:16:52 -04:00
Rob Rix
145a1ad155 Revert "Revert "Lift the operations in Files to MonadIO.""
This reverts commit 2d5468e38a3050327654bf5251c16fb68660917c.
2017-07-23 16:16:38 -04:00
Rob Rix
1f4ba7e09d Revert "Lift the operations in Files to MonadIO."
This reverts commit 11915d97bf6083c8f4cffaa5cb18b3341e89de48.
2017-07-23 16:15:01 -04:00
Rob Rix
f1295cfe0b 🔥 SplitSyntaxDiff. 2017-07-23 16:00:36 -04:00
Rob Rix
d09c1690d7 Remove the leaf type parameter from SplitSyntaxDiff. 2017-07-23 16:00:10 -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
8c46ff8afb 🔥 Syntax record selectors. 2017-07-23 15:15:17 -04:00
Rob Rix
edcb55a686 Move the source adjacent to where it’s used. 2017-07-23 15:08:53 -04:00
Rob Rix
7902bf683d Pass blobs to parseToAST. 2017-07-23 15:06:21 -04:00
Rob Rix
ca68b834e1 Specify language lookup with a list. 2017-07-23 15:03:02 -04:00
Rob Rix
ec0c5420a3 Use the SyntaxTerm type synonym. 2017-07-23 15:00:46 -04:00
Rob Rix
cb90f2dd43 Don’t slice the Source down repeatedly.
Slicing Source is O(1).
2017-07-23 14:59:34 -04:00
Rob Rix
999d2d1efb Remove the Language from TreeSitterParsers. 2017-07-23 14:56:44 -04:00
Rob Rix
607e538588 Define a function selecting a Language for a Ptr TSLanguage. 2017-07-23 14:56:18 -04:00
Rob Rix
5b8015311f Show the language of sources with parse errors. 2017-07-23 14:44:12 -04:00
Rob Rix
86823f75ad Log a warning on parse error. 2017-07-23 14:42:51 -04:00
Rob Rix
8b3b6f36e2 Define a catamorphism determining whether a term contains parse errors. 2017-07-23 14:40:30 -04:00
Rob Rix
93f653b765 Bind the error fields. 2017-07-23 14:33:38 -04:00
Rob Rix
2fb501ab30 Bind the current time instead of using do notation. 2017-07-23 14:27:24 -04:00
Rob Rix
77e7ed0ba5 Spacing. 2017-07-23 14:24:05 -04:00
Rob Rix
b7e776ee90 Add the hours, minutes, & seconds to timestamps. 2017-07-23 14:21:20 -04:00
Rob Rix
bbb0c307e5 Add timestamps to logged messages. 2017-07-23 14:16:15 -04:00
Rob Rix
adc71548e5 Pass Messages to formatMessage. 2017-07-23 14:15:53 -04:00
Rob Rix
69b9b1d6be Pass Messages over the queue with the current time. 2017-07-23 14:12:13 -04:00
Rob Rix
29fd11f96f Define a Message datatype. 2017-07-23 14:11:48 -04:00
Rob Rix
6358896dc5 Pass the option to print source when formatting assignment errors. 2017-07-23 13:45:12 -04:00
Rob Rix
a2f1a0cfe0 Add an option & CLI flag for including source. 2017-07-23 13:44:18 -04:00
Rob Rix
7a36a428da Merge branch 'run-assignment-worker-wrapper' into serialize-concurrent-logging 2017-07-22 18:10:56 -04:00
Rob Rix
0678c2aeee Always return at least one zero-width match. 2017-07-22 18:06:32 -04:00
Rob Rix
519c43d39d Correct the indentation of the argument docs. 2017-07-22 17:47:18 -04:00
Rob Rix
e4397a57b3 Rename atNodeOrEnd to anywhere. 2017-07-22 17:34:13 -04:00
Rob Rix
4f5990d5ad Rename atEnd to reflect the fact that it might not be. 2017-07-22 17:33:47 -04:00
Rob Rix
3b95662be2 Guard the expected symbols by pattern matching. 2017-07-22 17:29:35 -04:00
Rob Rix
fa8d0e4db6 🔥 the inlining of run. 2017-07-22 17:28:09 -04:00
Rob Rix
0ffb818898 Don’t bind the first assignment. 2017-07-22 17:27:08 -04:00
Rob Rix
acc1d683d1 Define runAssignment as a Kleisli composition. 2017-07-22 17:26:40 -04:00
Rob Rix
a1a3f3be79 Rename the first state so we don’t use it where we mean some later state. 2017-07-22 17:25:54 -04:00
Rob Rix
d2bde129da Combine goMany and loop. 2017-07-22 17:25:39 -04:00
Rob Rix
6f954d4510 Define runMany as a worker/wrapper. 2017-07-22 17:11:26 -04:00
Rob Rix
2adf4ee765 Use Either’s MonadError instance to backtrack. 2017-07-22 16:59:38 -04:00
Rob Rix
6caaec8289 Spacing. 2017-07-22 16:58:09 -04:00
Rob Rix
2ee6332b66 🔥 projectNode. 2017-07-22 16:57:45 -04:00
Rob Rix
8b63e54f6d 🔥 an unnecessary fmap. 2017-07-22 16:56:21 -04:00
Rob Rix
4a0fb31ba1 Handle node errors in one place. 2017-07-22 16:55:43 -04:00
Rob Rix
c7d3def19f 🔥 choiceSymbols. 2017-07-22 16:53:46 -04:00
Rob Rix
15a6680848 Divide rule behaviours into at-end and at-node. 2017-07-22 16:53:18 -04:00
Rob Rix
d5799cff0d Project the head node. 2017-07-22 16:36:21 -04:00
Rob Rix
770e367c9b Tacit definition of choiceSymbols. 2017-07-22 16:33:59 -04:00
Rob Rix
ba0f28fce2 Only bind results explicitly once we need to destructure them. 2017-07-22 16:32:56 -04:00
Rob Rix
18ae76951b De-golf children assignment. 2017-07-22 16:31:23 -04:00
Rob Rix
7675f348d2 Rename advanceState to advance. 2017-07-22 16:27:02 -04:00
Rob Rix
5fab039939 Only drop when there are choices. 2017-07-22 16:24:26 -04:00
Rob Rix
30fba30c28 Correct the sense of the predicate. 2017-07-22 16:20:16 -04:00
Rob Rix
32c03be782 Rename AssignmentState to State. 2017-07-22 16:13:42 -04:00
Rob Rix
b91f70ec6a Simplify error construction. 2017-07-22 16:08:12 -04:00
Rob Rix
04fe451ca3 Swap the parameters to nodeError. 2017-07-22 16:05:55 -04:00
Rob Rix
a4a8e85bbb Extract the computation of errors for a given node. 2017-07-22 16:05:02 -04:00
Rob Rix
0aa86a309f Reformat Error. 2017-07-22 16:00:50 -04:00
Rob Rix
130b4a0d3e Write the child chain as a Kleisli composition. 2017-07-22 15:55:30 -04:00
Rob Rix
2c98b31f73 Run child assignments as direct Monadic chain. 2017-07-22 15:52:37 -04:00
Rob Rix
09787f5e93 Combine the Error constructors. 2017-07-22 15:43:48 -04:00
Rob Rix
630d78ae2a 🔥 the Show1 instance for Error. 2017-07-22 15:41:56 -04:00
Rob Rix
1b3a8f1311 Simplify error construction. 2017-07-22 15:34:56 -04:00
Rob Rix
a04a05cf1a Combine ErrorCause into Error. 2017-07-22 15:31:43 -04:00
Rob Rix
8f492b7a9a Combine the error clauses. 2017-07-22 15:19:27 -04:00
Rob Rix
126e319b88 Bind the head node. 2017-07-22 15:07:31 -04:00
Rob Rix
fd27976ba6 🔥 the note re: nullability.
It really only made sense when we were matching stateNodes at the same time.
2017-07-22 15:04:42 -04:00
Rob Rix
6a80c9dae9 🔥 some unneccessary quantifiers. 2017-07-22 15:03:58 -04:00
Rob Rix
8062a7aad4 Spacing. 2017-07-22 15:02:17 -04:00
Rob Rix
1d8c4fdeea Define a helper to project nodes. 2017-07-22 15:01:29 -04:00
Rob Rix
40313b598f Simplify the chain for choices. 2017-07-22 14:56:19 -04:00
Rob Rix
f628d22aee Match the head node with guard clauses. 2017-07-22 14:52:34 -04:00
Rob Rix
140b5cf49b Simplify how the node is projected out. 2017-07-22 14:50:26 -04:00
Rob Rix
11e83f0413 Define the error cases with guard clauses. 2017-07-22 14:49:14 -04:00
Rob Rix
dc9bfe28d1 Combine the rules for Location assignments. 2017-07-22 14:41:58 -04:00
Rob Rix
e8afa8817e Preserve backtracking errors via a setter. 2017-07-22 14:34:04 -04:00
Rob Rix
9bac600596 Define advanceState closed over the projection. 2017-07-22 14:27:46 -04:00
Rob Rix
8be255dfd7 Define dropAnonymous closed over the projection. 2017-07-22 14:24:43 -04:00
Rob Rix
8404b320b6 Define expectedSymbols with guard clauses. 2017-07-22 14:23:38 -04:00
Rob Rix
346d87b572 Tighten up the computation of the starting state. 2017-07-22 14:23:01 -04:00
Rob Rix
b97deff731 Tighten up how alternations are run. 2017-07-22 14:12:04 -04:00
Rob Rix
48cfac86f2 Tighten up how catching is run. 2017-07-22 14:10:56 -04:00