tock-mirror/backends
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
..
AnalyseAsm.hs Handle both addl and subl for stack increases. 2008-03-14 22:00:36 +00:00
BackendPasses.hs Change A.Dimension to take an Expression, not an Int. 2008-03-18 16:45:38 +00:00
BackendPassesTest.hs Change A.Dimension to take an Expression, not an Int. 2008-03-18 16:45:38 +00:00
GenerateC.hs Change A.Dimension to take an Expression, not an Int. 2008-03-18 16:45:38 +00:00
GenerateCBased.hs Clean up the generation of wrapper Procs for Pars. 2008-03-14 22:01:59 +00:00
GenerateCPPCSP.hs Change A.Dimension to take an Expression, not an Int. 2008-03-18 16:45:38 +00:00
GenerateCTest.hs Change A.Dimension to take an Expression, not an Int. 2008-03-18 16:45:38 +00:00
TLP.hs Changed the TLP and PrettyShow modules to use CSMR instead of CSM 2008-02-08 11:29:09 +00:00