Commit Graph

730 Commits

Author SHA1 Message Date
Neil Brown
78b032ace9 Moved castADI into TreeUtil and added more tag helper functions that fill the parameters with DontCare (named tag1d, tag2d, etc) 2007-08-28 22:25:41 +00:00
Neil Brown
005dbd4d87 Rain: changed integer literals to allow negative literals 2007-08-28 20:40:41 +00:00
Neil Brown
96fc3a9983 Rain: added support for the modulo operator 2007-08-28 17:05:55 +00:00
Neil Brown
c8cf8a9963 Rain: indicated more clearly when a parse fails on lexing 2007-08-28 17:05:21 +00:00
Neil Brown
bf0dc577a8 Rain: changed the comment character for now 2007-08-28 17:04:18 +00:00
Neil Brown
6da26e5bf5 Added the first Rain program to the testcases directory and added Makefile rules for compiling *.rain into *x using the C++CSP backend 2007-08-28 16:02:22 +00:00
Neil Brown
15be4ddca9 Changed some instances of lookupName to lookupNameOrError to make it a little easier to track down internal compiler errors 2007-08-28 15:28:52 +00:00
Neil Brown
c09da951f0 Fixed the pass order in the Main module; the rain passes must be performed before the common passes, not afterwards 2007-08-28 15:28:02 +00:00
Neil Brown
99780d497b Added a Haddock ignore-exports declaration to RainPassTest 2007-08-28 15:27:29 +00:00
Neil Brown
63236cbc5a Rain: added another test for the unique pass 2007-08-28 15:27:03 +00:00
Neil Brown
c572dcb067 Fixed the findMeta function to return emptyMeta when no Meta exists in the given data 2007-08-28 15:23:50 +00:00
Neil Brown
1386dd6808 Turned whatever documentation I could find in GenerateCPPCSP into Haddock documentation, although it needs a more thorough pass to make the documentation better at some point. 2007-08-28 13:05:03 +00:00
Neil Brown
095b547f9e Added Haddock documentation to the TestMain module 2007-08-28 12:43:30 +00:00
Neil Brown
0887d1b87b Added the licence header to the Pattern module, and tidied up some of the Haddock documentation in Pattern 2007-08-28 12:38:36 +00:00
Neil Brown
d8a23fa40d Fixed some Haddock module references in TestUtil 2007-08-28 12:38:15 +00:00
Neil Brown
6a22e37589 Added Haddock documentation to all the functions in TestUtil, and tweaked the type of assertVarDef 2007-08-28 12:25:59 +00:00
Neil Brown
ffb75e0fc7 Removed an unused function from TestUtil 2007-08-28 11:57:02 +00:00
Neil Brown
06e321f973 Rain: removed the now-unnecessary pass that fixed up the types of the casts for channel-ends 2007-08-30 18:14:59 +00:00
Neil Brown
bd5e6759a2 Rain: changed the parser to convert ?c into a A.DirectedVariable instead of a cast 2007-08-30 18:01:43 +00:00
Neil Brown
9edea5d958 Added a new variable type, DirectedVariable, for using channel-end specifiers 2007-08-30 16:51:22 +00:00
Neil Brown
bfc7be2108 Added a description and diagram to the contents page of the haddock-generated documentation 2007-08-30 15:36:34 +00:00
Neil Brown
139cd17c56 Added more Haddock documentation to the RainPasses module. 2007-08-28 13:16:26 +00:00
Neil Brown
694ba1eca2 Replaced the use of m with emptyMeta in TestUtil 2007-08-28 11:19:51 +00:00
Neil Brown
f2cb0b7cce Rain: added a pass for fixing the types of channel-end casts and appropriate tests 2007-08-28 11:02:17 +00:00
Neil Brown
baf28ce47c Rain: added a parse test for declaring an instance of a user-defined type 2007-08-24 17:09:33 +00:00
Neil Brown
e3ee310fe3 Rain: added parsing support for channel-end casts 2007-08-24 16:57:02 +00:00
Neil Brown
0fdcdcf4a1 Rain: added tests for parsing channel-end casts 2007-08-24 16:56:29 +00:00
Neil Brown
121714c810 Rain: filled in the pass that checks the types passed as parameters to process calls 2007-08-24 16:27:07 +00:00
Neil Brown
068336ad33 Rain: added tests for testing the pass that checks the parameter types passed to process calls 2007-08-24 16:26:16 +00:00
Neil Brown
b1daf41ecf Added a new function to CompState that allows you to specify a custom error when lookupName fails, and changed one example of this in ParseOccam 2007-08-24 15:04:31 +00:00
Neil Brown
f5041b801c Rain: added a dummy implementation of a new pass to check process call parameters 2007-08-24 13:53:51 +00:00
Adam Sampson
64f0e1f4cb Monadic - and MINUS are not the same operator.
Neil spotted this while using MonadicSubtr in the Rain frontend -- -(MOSTNEG
INT) should fail, MINUS (MOSTNEG INT) shouldn't. This adds a MonadicMinus.
2007-08-23 22:17:15 +00:00
Adam Sampson
82df59dcfb Fix makeLiteral for arrays inside records.
This was an "obvious" bug (a missing pattern) being masked by me doing a
pattern match inside an array constructor -- if the pattern doesn't match then
it'll skip that value, rather than causing an error like it does in a case.
2007-08-23 22:07:01 +00:00
Neil Brown
fad699421a Rain: added support for parsing process calls (but need a pass to sort out parameter types) 2007-08-23 21:21:20 +00:00
Neil Brown
54ba4c3315 Rain: added tests for parsing process calls 2007-08-23 21:20:55 +00:00
Neil Brown
bf2ea2feac Rain: tidying up some of the parse tests 2007-08-23 21:07:59 +00:00
Neil Brown
7e96da4922 Rain: fixed the parsing of channel types 2007-08-23 20:52:15 +00:00
Neil Brown
ab918eb9ab Rain: changed the top-level parser to be able to parse multiple processes in a file 2007-08-23 20:42:21 +00:00
Neil Brown
0520f3aaa0 Rain: tidying up a few stray definitions 2007-08-23 20:08:20 +00:00
Neil Brown
cbd2ecf479 Rain: revamped the expression parsing to match the new tests 2007-08-23 20:07:56 +00:00
Neil Brown
fdff7b0d3c Rain: Greatly expanded the tests for parsing expressions 2007-08-23 20:06:35 +00:00
Neil Brown
433c9d887d Rain: fixed a test to expect Plus instead of Add 2007-08-23 18:45:36 +00:00
Neil Brown
e9d882f1ae Rain: fixed the dataType parser to accept user-named types 2007-08-23 18:44:22 +00:00
Neil Brown
1d0426ac77 Rain: fixed the parsing to pass the new literal tests 2007-08-23 15:51:31 +00:00
Neil Brown
bb77f3fb91 Rain: added tests for literals, including very large integers 2007-08-23 15:51:08 +00:00
Neil Brown
e46bcefeb7 Rain: added parsing of input statements 2007-08-23 15:18:11 +00:00
Neil Brown
9b0419acbc Rain: added tests for input statements 2007-08-23 15:17:55 +00:00
Neil Brown
9077367f6d Rain: changed innerBlock to pass the tests 2007-08-23 14:59:45 +00:00
Neil Brown
f0d06b5219 Rain: added tests for the innerBlock parser 2007-08-23 14:59:27 +00:00
Neil Brown
5adbf7fcfc Rain: changed the declaration parser to also return a Meta tag 2007-08-23 14:58:11 +00:00