Commit Graph

1278 Commits

Author SHA1 Message Date
Adam Sampson
f1a63732b1 First (aborted) shot at marking declarations 2006-10-02 13:28:36 +00:00
Adam Sampson
f7651664ae Rename Pass -> Transform, and make transforms operate inside the State monad 2006-09-27 23:29:55 +00:00
Adam Sampson
60e2890233 Wrap string/byte literals in --parse-tree mode 2006-09-23 20:33:43 +00:00
Adam Sampson
2e9b2a711d Add soccam output 2006-09-23 18:33:35 +00:00
Adam Sampson
cb7b10d1b5 Add soccam2.1 spec 2006-09-23 17:28:58 +00:00
Adam Sampson
cc9de06860 Debugging information to stderr, and only shown if -v is given 2006-09-23 00:45:19 +00:00
Adam Sampson
82447416af When -p is given, dump parse tree as s-expression and exit 2006-09-23 00:20:33 +00:00
Adam Sampson
2ae397f1e6 OcMod and OcRem are actually the same operator; kill OcMod 2006-09-23 00:06:53 +00:00
Adam Sampson
963ab7ade1 More syntax tests 2006-09-07 15:03:11 +00:00
Adam Sampson
6baca4b641 Remove "unsure" comments
It's because I didn't understand properly how Parsec works -- when you say a
<|> b, everything in a runs (and fails) even if it didn't match...
2006-09-07 14:50:52 +00:00
Adam Sampson
b659d27f1f Add intermediate phase, and a pass to gather declarations 2006-09-07 12:41:35 +00:00
Adam Sampson
15974f8eb6 Move base passes to their own file 2006-09-07 12:21:49 +00:00
Adam Sampson
65d2e67846 Add another phase, and make the driver work with multiple phases 2006-09-07 03:11:03 +00:00
Adam Sampson
344add99e9 Rework parser to commit sooner
Essentially just move around a lot of "try"s, and make the flattening code
preserve lines. This lets it give more useful error messages when it can't
parse something.
2006-09-07 02:38:51 +00:00
Adam Sampson
02abee3d7f Allow empty arg lists 2006-09-06 21:58:20 +00:00
Adam Sampson
5abb9a60c4 Slightly less silly example pass 2006-09-06 21:58:10 +00:00
Adam Sampson
6ebc9cc13e Add code to autogenerate identity passes (and use it) 2006-09-06 21:34:54 +00:00
Adam Sampson
a093196b30 Add code to run trees through passes 2006-09-06 21:00:55 +00:00
Adam Sampson
85eb9fe33d Take a filename as a command-line arg, and use a marker process for main rather than SKIP 2006-09-06 19:56:16 +00:00
Adam Sampson
2e9d2123ad Add tree datatype, and rework parser to produce it instead of soccam 2006-09-06 17:38:57 +00:00
Adam Sampson
5429cfe2b8 Add Makefile 2006-09-06 13:57:27 +00:00
Adam Sampson
2f9fee375e Make usable as a filter. 2006-02-04 03:27:09 +00:00
Adam Sampson
68b4ad06da Add testcases. 2006-02-04 03:20:38 +00:00
Adam Sampson
2bb17d2d93 More work: it now parses my q7 (minus the # directives). 2006-02-04 03:19:00 +00:00
Adam Sampson
4d63b62a50 Mostly complete, now with newlines. 2006-02-04 01:48:21 +00:00
Adam Sampson
70a818cf32 More work. 2006-02-04 00:29:15 +00:00
Adam Sampson
38dbed77c4 Working snapshot of occam parser in Haskell. 2006-02-03 11:13:30 +00:00
Adam Sampson
08a13d9a2a Add barrier-life (early, buggy version that produced pretty
nondeterministic output).
2005-02-23 00:35:21 +00:00