Neil Brown
d66fb79796
Fixed some unused module import warnings, now that PassM is not build of monad transformers
2008-03-10 17:19:45 +00:00
Adam Sampson
17da4db956
Make genActual(s) use the correct abbreviation mode.
2008-04-01 13:16:23 +00:00
Adam Sampson
40bf42e5ea
Remove obsolete CGenCall instance.
2008-03-29 23:24:50 +00:00
Neil Brown
2d0d6463d5
Removed the handling of the old Rain Wait/GetTime items from the backends
2008-03-24 15:08:05 +00:00
Neil Brown
bc7e682119
Added a Concat operator for lists, and added support for it (and list assignment) to the backends
2008-03-21 19:20:15 +00:00
Neil Brown
839d92546b
Altered the backends to support lists and foreach loops over lists (at least in the C++ part)
2008-03-19 17:20:52 +00:00
Adam Sampson
4a68dda2b5
Clean up the generation of wrapper Procs for Pars.
...
Procs that are in csParProcs are now generated with the correct calling
convention directly, rather than having a second wrapper function generated
around them.
2008-03-14 22:01:59 +00:00
Adam Sampson
7eaab68f04
Implement TLP output channels using a CIF helper process.
...
Input channels will be similar, but are stubbed out for now.
2008-03-11 18:47:48 +00:00
Neil Brown
c778ff0031
Fixed some unused module import warnings, now that PassM is not build of monad transformers
2008-03-10 17:19:45 +00:00
Neil Brown
6abda39ee2
Fixed a couple of uses of the PassM monad that depended on the old mechanism
2008-03-10 15:19:28 +00:00
Neil Brown
0265063250
Re-added the index checking for array slices in the backend
2008-03-09 16:19:01 +00:00
Neil Brown
5c43172e46
Added an annotation to array subscripts to indicate whether they should have a run-time check added or not
2008-03-09 14:30:19 +00:00
Neil Brown
ba75f5b06c
Removed the initialiser expression on the Declaration item in the AST
2008-03-09 00:23:13 +00:00
Neil Brown
ba9ac70d7c
Changed the C and C++ backends to write directly to the output file, to save building up the strings in memory
2008-03-08 14:10:05 +00:00
Neil Brown
126dcdb4bb
Removed all the unnecessary stuff from the C backend that used to be there for array sizes
2008-03-08 12:36:38 +00:00
Neil Brown
66a7ae9b58
Refactored the C backend, removed the abbrevVariable and genSlice functions
2008-03-08 11:55:56 +00:00
Adam Sampson
2f7539bcdb
Convert the C backend to the new CIF API (mostly).
...
Most of this is mechanical: changing function names, and carrying the "wptr"
argument around. I've made the code for computing Expressions from Structureds
a bit more generic too.
The only complex bit is the handling of PAR processes, which I'm not very happy
with at the moment; they used to use the normal C calling convention, but now
you need to pack the arguments into the workspace. I'm handling this at the
moment by generating wrapper functions that do the unpacking, but it would be
better in the future to make the wrapper PROCs that we already generate have
the right interface.
This won't work for programs that use any of the top-level channels yet, since
there are no handlers for them.
2008-03-07 17:50:10 +00:00
Neil Brown
60daa07b93
Renamed one of the array functions in the function table to be clearer
2008-03-01 20:22:34 +00:00
Adam Sampson
8d06c3d180
Various tweaks to the Haddock comments to get it building with 0.8 again.
2008-02-28 14:20:34 +00:00
Neil Brown
9ab4563a2c
Moved the definition of record types into the forward declarations
2008-02-27 18:25:14 +00:00
Neil Brown
9d1c170b34
Added a size suffix to the code generated for C/C++ integer and real literals (where needed)
2008-02-26 18:09:21 +00:00
Neil Brown
2e6718ac50
Changed all the lists of passes to add pre- and post- properties
2008-02-19 09:43:40 +00:00
Neil Brown
e3e9e912f2
Added a read-only version of CSM, named CSMR
2008-02-08 11:17:50 +00:00
Neil Brown
7e7625385d
Pulled out various types and definitions from GenerateC into a common module, GenerateCBased
2008-02-08 01:08:42 +00:00