Neil Brown
|
7433e49d49
|
Added support for List types to the C and C++ backend, in genType at least
|
2007-10-27 11:24:24 +00:00 |
|
Neil Brown
|
7f59eec189
|
Changed the C and C++ backends (and tests) to handle declarations with initialisers properly
|
2007-10-25 00:27:12 +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
|
83f654a273
|
Implemented the code for ClearMobile in the C and C++ backends
|
2007-10-24 20:54:37 +00:00 |
|
Neil Brown
|
dfee567ffc
|
Added tests for ClearMobile in the C and C++ backends
|
2007-10-24 20:52:39 +00:00 |
|
Neil Brown
|
48c1bea724
|
Added tests for the AllocMobile item in the C and C++ backends
|
2007-10-24 19:44:50 +00:00 |
|
Neil Brown
|
dd86b240b5
|
Implemented (most of the needed) support for AllocMobile in the C and C++ backends
|
2007-10-24 19:32:58 +00:00 |
|
Neil Brown
|
08c8d47e2f
|
Overhauled cgenVariable' in GenerateC so that it passes the new tests involving DerefVariable (while still passing all the previous tests)
|
2007-10-24 15:58:20 +00:00 |
|
Neil Brown
|
9f78582391
|
Added support for mobile types to the genType functions in the C and C++ backends
|
2007-10-21 14:37:05 +00:00 |
|
Neil Brown
|
acca3d03fd
|
Removed the A.Main item from the AST entirely
|
2007-10-17 13:43:40 +00:00 |
|
Neil Brown
|
12191cb36a
|
Changed the C and C++ backends to take in a Structured rather than a Process as the top-level item
|
2007-10-17 13:25:21 +00:00 |
|
Neil Brown
|
e9dbfbab3c
|
Added the input-case to case pass to the pass-list, and therefore removed all code dealing with input-case statements in the C and C++ backends (and corresponding tests)
|
2007-10-14 00:01:44 +00:00 |
|
Neil Brown
|
ffe8477237
|
Added a fix to prevent running a zero-length list of processes in CIF
|
2007-10-13 20:02:07 +00:00 |
|
Neil Brown
|
1885518b8d
|
Changed the C genRetypeSizes function to pass the tests
|
2007-10-13 17:54:46 +00:00 |
|
Neil Brown
|
c74ae12810
|
Changed the type of genBytesIn again, to remove redundancy in its parameters
|
2007-10-13 16:16:52 +00:00 |
|
Neil Brown
|
ed38f80db0
|
Changed the type of genRetypeSizes to removed the unused AbbrevMode parameter
|
2007-10-13 15:38:04 +00:00 |
|
Neil Brown
|
9a48683033
|
Refactored the C implementation of genBytesIn to better integrate the old genBytesIn' with genBytesIn
|
2007-10-13 15:01:51 +00:00 |
|
Neil Brown
|
ffd09847fe
|
Removed genBytesIn' from the GenOps, in favour of adding a parameter to genBytesIn, and changed the tests and code accordingly
|
2007-10-13 14:51:29 +00:00 |
|
Neil Brown
|
d5d4580aa3
|
Changed the type of genSlice, and put the C++ version into the GenOps dictionary, as well as adding tests for the function
|
2007-10-13 13:20:40 +00:00 |
|
Neil Brown
|
324257198a
|
Changed the C backend to pass the RETYPES tests (mainly white-space changes)
|
2007-10-13 12:51:13 +00:00 |
|
Neil Brown
|
4935a04aa4
|
Added the simplifyComms pass to the shared pass list for the compiler, and removed the corresponding code in the C backend that the pass replaces
|
2007-10-11 00:14:27 +00:00 |
|
Neil Brown
|
cc2040679b
|
Changed the C and C++ backends to pass the input tests
|
2007-10-10 20:46:23 +00:00 |
|
Neil Brown
|
32fa80be0f
|
Removed the kroc C wrapper file (kroc-wrapper-c.c) in favour of tacking it onto the end of each C file we create (to better facilitate all-in-one compilation)
|
2007-10-08 22:04:11 +00:00 |
|
Neil Brown
|
5b10466e68
|
Fixed the channel arrays (and abbreviations thereof) to have the correct types (correcting an earlier mistake), and added helper functions to the support headers for easy initialisation of the arrays
|
2007-10-07 23:03:15 +00:00 |
|
Neil Brown
|
5450f77963
|
Added a test for genBytesIn in the C and C++ backends
|
2007-10-07 11:47:39 +00:00 |
|
Neil Brown
|
6d29bbd260
|
Added some tests for outputs in the C and C++ backends, but the C++ backend needs fixing
|
2007-10-06 18:20:55 +00:00 |
|
Neil Brown
|
3b20d18937
|
Added tests for the genOutput and genOutputCase functions, corrected the C++ code, and added some helper functions to the C++ support header
|
2007-10-06 17:05:49 +00:00 |
|
Neil Brown
|
97ee0c4a4e
|
Added tests for ProtocolCase in introduceSpec, and made the C++ version behave the same as the C version
|
2007-10-06 16:35:02 +00:00 |
|
Neil Brown
|
062851dabf
|
Added tests for introduceSpec and Is, for all types except arrays
|
2007-10-06 15:55:18 +00:00 |
|
Neil Brown
|
0517465eff
|
Removed the function genArraySizesSize from GenOps, since it was only called in one place
|
2007-10-06 12:52:59 +00:00 |
|
Neil Brown
|
e7cdaf2e90
|
Changed the type of genArraySizesLiteral, added tests for the C++ version and implemented the C++ version
|
2007-10-06 12:31:14 +00:00 |
|
Neil Brown
|
8ea4ad79e8
|
Changed the type of declareArraySizes, and added a C++ implementation of it
|
2007-10-06 12:22:40 +00:00 |
|
Neil Brown
|
071172954d
|
Removed redundant/common code in the C++ backend relating to arrays
|
2007-10-06 11:59:29 +00:00 |
|
Neil Brown
|
9a6f9186a9
|
Changed the behaviour of genArraySizesLiteral to include the curly brackets
|
2007-10-06 11:55:50 +00:00 |
|
Neil Brown
|
c521187cd2
|
Added a genArrayStoreName function to GenOps and implemented it for both C and C++
|
2007-10-06 11:30:03 +00:00 |
|
Neil Brown
|
24b3975cf8
|
Fixed channel arrays that are abbreviations to have the proper indirection, because they can be constructed in a special way (using IsChannelArray)
|
2007-10-06 00:57:03 +00:00 |
|
Neil Brown
|
9d5164d9c1
|
Changed the generation of the record structs to use the altered genDeclaration (that can now generate declarations for inside records)
|
2007-10-05 20:06:11 +00:00 |
|
Neil Brown
|
904d1e8f5f
|
Changed the genDeclaration function so that it can either generate stand-alone declarations (as it did before), or declarations inside records
|
2007-10-05 19:01:42 +00:00 |
|
Neil Brown
|
8cd20b9906
|
Changed the C++ implementation of introduceSpec to fall through to the C implementation for all unhandled cases (which will remove duplicate code)
|
2007-10-05 17:51:00 +00:00 |
|
Neil Brown
|
9effe37977
|
Removed the declareType function from GenOps (it has been merged with genType) and changed the C++ channel types to pass the new genType tests
|
2007-10-05 17:01:17 +00:00 |
|
Neil Brown
|
2b8010138b
|
Added the first part of a test for introduceSpec/removeSpec in the C and C++ backends
|
2007-10-05 11:44:23 +00:00 |
|
Neil Brown
|
4d2833affb
|
Added a test for genWhile to the C and C++ backends
|
2007-10-04 14:58:28 +00:00 |
|
Neil Brown
|
986b6d956a
|
Added a test for genWait in the C and C++ backends
|
2007-10-04 14:55:03 +00:00 |
|
Neil Brown
|
1f8a5555ac
|
Added a test for genIf in the C and C++ backends
|
2007-10-04 14:36:56 +00:00 |
|
Neil Brown
|
af74ac1039
|
Added a test of genGetTime for the C and C++ backends
|
2007-10-04 14:06:15 +00:00 |
|
Neil Brown
|
bc7e1b1433
|
Added a test for genCase on the C and C++ backends
|
2007-10-04 13:57:19 +00:00 |
|
Neil Brown
|
38fb0baa4e
|
Added a test for genAssign in the C and C++ backends, and tweaked its implementation to pass the tests
|
2007-10-04 12:40:13 +00:00 |
|
Neil Brown
|
ae73eef435
|
Fixed a bug in genVariable in GenerateC where recursive calls with checkValid being False would still generate checks
|
2007-10-04 12:06:20 +00:00 |
|
Neil Brown
|
a4638a252d
|
Changed an instance of _sizes in GenerateC to use the genSizeSuffix function
|
2007-10-04 12:03:55 +00:00 |
|
Neil Brown
|
b4ac249367
|
Changed the C and C++ channel arrays to be actual arrays of channels, not arrays of channel pointers as they were before.
The effects of this change will not be fully tested until further tests have been written (especially for genVariable).
|
2007-10-04 00:53:25 +00:00 |
|