Commit Graph

18 Commits

Author SHA1 Message Date
Neil Brown
acd57d74de Changed the A.Structured type to be parameterised
This patch is actually an amalgam of multiple (already large) patches.  Those patches conflicted (parameterised Structured vs. changes to usage checking and FlowGraph) and encountered a nasty bug in darcs 1 involving exponential time (see http://wiki.darcs.net/DarcsWiki/ConflictsFAQ for more details).  Reasoning that half an hour (of 100% CPU use) was too long to apply patches, I opted to re-record the parameterised Structured changes as this new large patch.  Here are the commit messages originally used for the patches (which, as mentioned, were already large patches):

A gigantic patch switching all the non-test modules over to using parameterised A.Structured
Changed the FlowGraph module again to handle any sort of Structured you want to pass to it (mainly for testing)
A further gigantic patch changing all the tests to work with the new parameterised Structured
Fixed a nasty bug involving functions being named incorrectly inside transformInputCase
Added a hand-written instance of Data for Structured that allows us to use ext1M properly
Fixed a few warnings in the code
2008-02-05 19:40:27 +00:00
Neil Brown
f03702d937 Added an automatically-generated OrdAST module that provides an ordering for AST elements, ignoring Meta tags 2008-01-28 15:23:53 +00:00
Neil Brown
0f085b8d81 Added Ord instances for all simple types (all no-argument constructors) in the AST module 2008-01-28 15:22:58 +00:00
Neil Brown
d38c2aef08 Overhauled the usage checker to use sets of Strings for recording the used variables 2007-10-29 17:32:23 +00:00
Neil Brown
201c6ab754 Added a List type to the AST 2007-10-25 10:02:50 +00:00
Neil Brown
6b95827cab Added an optional initialiser-expression to Declaration in the AST, and changed the rest of the code accordingly 2007-10-24 23:50:00 +00:00
Neil Brown
1f604781f5 Added an AST item for blanking mobiles 2007-10-24 20:50:44 +00:00
Neil Brown
00d48d27de Added an AST Expression for allocating mobiles 2007-10-24 19:30:44 +00:00
Neil Brown
f8006696b2 Added a dereferenced mobile item to Variable in the AST 2007-10-24 15:56:02 +00:00
Neil Brown
521730bf8b Added the Mobile type to the AST 2007-10-21 14:15:56 +00:00
Neil Brown
acca3d03fd Removed the A.Main item from the AST entirely 2007-10-17 13:43:40 +00:00
Neil Brown
f32471709d Fixed a few small unescaped slashes that were confusing haddock 2007-10-02 14:55:19 +00:00
Neil Brown
be676060b9 Added a new wait guard (that matches the Rain wait guards exactly) to the AST 2007-09-26 23:18:57 +00:00
Neil Brown
13584ed2cb Added a wait statement to the AST, and added Rain tests for parsing wait statements 2007-09-26 23:00:09 +00:00
Neil Brown
c6217865b9 Added the Time type, and the GetTime process to the AST, and added showOccam/showRain lines for the Time type 2007-09-19 10:20:40 +00:00
Neil Brown
3e342a621c Added ShowOccam and ShowRain type-classes, and changed existing code to use these new show methods in error messages
The function showCode shows code as either occam or Rain depending on the frontend.  This is then used by a formatCode function that acts similar to 
printf, which makes it easy to format error messages that use showCode.
2007-09-16 17:20:57 +00:00
Neil Brown
117173f758 Added the basics needed to generate XML from the AST using HaXml and DrIFT 2007-09-14 19:13:15 +00:00
Neil Brown
2ff46a9041 Rearranged the Rain source files, renamed a couple of Rain files, and changed the Makefile accordingly. 2007-09-10 17:28:57 +00:00