Neil Brown
|
edc3a7e910
|
Removed the die function (that has no source position) and as far as possible replaced all its uses with dieP and a valid position
|
2008-01-28 17:21:13 +00:00 |
|
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 |
|