Patrick Thomson
034bb562d4
Introduce tree-automata DSL for filtering and matching ASTs.
...
This patch adds the `Matcher` monad, which is capable of filtering any
recursive data structure, bottom-up, yielding a list of (or an
optional) result. These functions are probably going to be used over
`Term` values, so API is provided to wrap common projection functions.
The API was more or less copied directly from that of Clang's AST
matching facilities.
There are a lot of things we can do in the future:
* Binding results yielded in matchers to associated names, for future
transformation stages to look up and modify.
* Actual transformation stages.
* Optimizations. This is not very fast.
A million thanks to @robrix , whose sage advice managed to turn my
kooky idea for an API into something really special and exciting.
2018-03-27 16:14:30 -04:00
Timothy Clem
7fdc5e2fda
Write a small spec for evaluating PHP includes
2018-03-19 14:42:31 -07:00
Timothy Clem
1e276dddef
TDD FTW
2018-03-15 11:34:34 -07:00
Timothy Clem
579a447961
Test out go import evaling
2018-03-13 11:14:55 -07:00
Timothy Clem
38b7607fa3
Turn on the TypeScript analysis spec
2018-03-09 16:24:32 -08:00
Timothy Clem
d352c66227
Test out rest of python imports, move to new dir
2018-03-09 15:16:07 -08:00
Timothy Clem
3fc7f644b2
Try my hand at a spec for analysis - test out python imports
2018-03-09 15:01:29 -08:00
Timothy Clem
fb000828ed
Test out import-graph output for relevant languages
2018-02-07 12:20:41 -08:00
Rob Rix
67f251e223
Combine the generic Eq1, Ord1, & Show1 implementations into a single module.
2017-11-30 10:24:48 -05:00
Rob Rix
bcb64b3187
Rename the Integration spec.
2017-11-27 14:06:12 -05:00
Rob Rix
59fc8bffc9
Rename the TOC spec.
2017-11-27 14:04:58 -05:00
Rob Rix
69595553d6
Rename the Interpreter spec.
2017-11-27 14:03:45 -05:00
Rob Rix
a442bfeea1
Rename the Term spec.
2017-11-27 14:02:03 -05:00
Rob Rix
a079638c5b
Rename the Semantic spec.
2017-11-27 14:00:53 -05:00
Rob Rix
80fce5b41e
Rename the Diff spec.
2017-11-27 13:59:44 -05:00
Rob Rix
4b06df7db4
Rename the Stat spec.
2017-11-27 13:58:23 -05:00
Rob Rix
59166b50bb
Rename the CLI spec.
2017-11-27 13:57:25 -05:00
Rob Rix
b98375b58f
Rename the IO spec.
2017-11-27 13:52:48 -05:00
Rob Rix
8a3d34a1fc
Rename the SES spec.
2017-11-27 13:51:05 -05:00
Rob Rix
f4960b0a0d
Rename the Source spec.
2017-11-27 13:49:52 -05:00
Rob Rix
266bd1199a
Rename the RWS spec.
2017-11-27 13:48:43 -05:00
Rob Rix
a8e8489fcb
Rename the assignment spec.
2017-11-27 13:47:04 -05:00
Rob Rix
8dea7d4194
🔥 AlignmentSpec.
2017-11-21 17:08:52 -05:00
Rob Rix
efa454edcc
🔥 PatchOutputSpec.
2017-11-21 17:08:40 -05:00
Timothy Clem
666585bf50
Start writing a few specs
2017-10-04 11:12:24 -07:00
Rob Rix
7e034fa4c1
Test that genericLiftCompare gives equivalent behaviour to compare for product types.
2017-10-03 09:23:44 -04:00
Rob Rix
6f4539cdce
Stub in a module for generically-implemented Ord1 specs.
2017-10-03 09:15:45 -04:00
Rob Rix
be481f7a71
Rename SES.Myers to SES.
2017-09-14 11:53:02 -04:00
Rob Rix
7da8799e08
🔥 Prologue & protolude.
2017-07-28 14:37:02 -04:00
Rob Rix
ed9b00cc90
🔥 rangesAndWordsFrom.
2017-06-24 10:41:32 -04:00
Rob Rix
992ef93c0b
Git gone.
2017-06-14 17:47:31 -04:00
Rob Rix
7f72974e27
🔥 the summary renderer.
2017-05-17 12:32:17 -04:00
Timothy Clem
f51798e4c8
Turn parseBlob tests back on in new Spec
2017-04-21 14:12:00 -07:00
Timothy Clem
19e87dd523
Put both diff and parse rendering back together
2017-04-20 15:13:28 -07:00
Timothy Clem
389bfaf220
WIP - new renderer achitecture
2017-04-20 11:00:02 -07:00
Timothy Clem
8eb4d436e0
s/Semantic/SemanticCmdLine
2017-04-19 14:22:24 -07:00
Timothy Clem
3704773965
Merge remote-tracking branch 'origin/master' into subparsers
2017-04-12 12:55:11 -07:00
Timothy Clem
6e3af1b75f
SemanticDiff.hs => Semantic.hs and smoke test specs
2017-04-10 17:10:34 -07:00
Rob Rix
35fb87c1f9
Merge branch 'master' into syntax-a-la-carte
2017-04-10 11:29:28 -04:00
Rob Rix
a151a24885
What the efff, apparently.
2017-04-10 11:27:26 -04:00
Rob Rix
5349354910
Merge branch 'master' into what-the-hspec
2017-04-08 10:30:22 -04:00
Rob Rix
8e0fa11fff
Merge branch 'master' into syntax-a-la-carte
2017-04-07 12:41:12 -04:00
Rob Rix
00b3106933
Combine output stats for all specs
2017-04-07 12:24:57 -04:00
Rob Rix
76240b1d67
Refocus the existing assignment specs.
2017-04-07 12:21:45 -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
7b6bf4f42b
Stub in a spec.
2017-04-05 11:10:23 -04:00
Rob Rix
1fbe6a8319
Rename ParseCommand to Command.Parse.
2017-03-31 11:50:36 -04:00
Rob Rix
32b9dd9f16
Rename DiffCommand to Command.Diff.
2017-03-31 11:48:21 -04:00
Rick Winfrey
eaa5873ed7
Merge branch 'master' into gitmon-support
2017-03-27 15:38:18 -07:00
Rick Winfrey
9cf176a37d
GitmonClient spec should not run in parallel
2017-03-21 14:48:47 -07:00