tock-mirror/transformations
Adam Sampson b1416bb0cf Change A.Dimension to take an Expression, not an Int.
This touches an awful lot of code, but cgtest07/17 (arrays and retyping) pass.

This is useful because there are going to be places in the future where we'll
want to represent dimensions that are known at runtime but not at compile time
-- for example, mobile allocations, or dynamically-sized arrays. It simplifies
the code in a number of places.

However, we do now need to be careful that expressions containing variables do
not leak into the State, since they won't be affected by later passes.

Two caveats (marked as FIXMEs in the source):

- Retypes checking in the occam parser is disabled, since the plan is to move
  it out to a pass anyway.
- There's some (now very obvious) duplication, particularly in the backend, of
  bits of code that construct expressions for the total size of an array
  (either in bytes or elements); this should be moved to a couple of helper
  functions that everything can use.
2008-03-18 16:45:38 +00:00
..
PassTest.hs Change A.Dimension to take an Expression, not an Int. 2008-03-18 16:45:38 +00:00
SimplifyComms.hs Removed the initialiser expression on the Declaration item in the AST 2008-03-09 00:23:13 +00:00
SimplifyExprs.hs Change A.Dimension to take an Expression, not an Int. 2008-03-18 16:45:38 +00:00
SimplifyProcs.hs Remove the identifyParProcs pass. 2008-03-14 14:53:05 +00:00
SimplifyTypes.hs Altered the AST to allow a function to be either an ExpressionList (classical occam) or a Process (Rain/proposed new occam) 2008-02-24 19:29:31 +00:00
Unnest.hs Fixed a few dependencies in the pass lists relating to functions 2008-02-27 20:05:47 +00:00