Commit Graph

1431 Commits

Author SHA1 Message Date
Neil Brown
4a0d199406 Fixed the keep temporaries thing so that it still keeps them when the compilation succeeds, not just when it dies 2008-02-27 19:58:32 +00:00
Neil Brown
46de1956b3 Corrected the pulling up of SEQ replicator counts to descend properly into nested functions 2008-02-27 19:58:09 +00:00
Neil Brown
86c17fed99 Added a pass for pulling up the replicator counts in SEQs so that the count is constant for the whole loop 2008-02-27 19:33:44 +00:00
Neil Brown
7206d45af3 Toned down the amount of suffixes generated for C/C++ integer literals 2008-02-27 18:56:36 +00:00
Neil Brown
63730b5aff Adjusted the tests for record definitions in the C/C++ backends to use the new function in the dictionary for them 2008-02-27 18:56:09 +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
cfc3577c21 Fixed the pre-condition of flattenAssign to include the types being resolved 2008-02-27 18:24:33 +00:00
Neil Brown
1afea6c62c Fixed underlyingType not recursing properly into the inner types in arrays 2008-02-27 18:23:53 +00:00
Neil Brown
eef0ac53e0 Added a flag to the compiler to tell let it to not delete the temporary files it used 2008-02-27 18:23:22 +00:00
Neil Brown
b0fac1f82a Made sure that definitions are only pulled up after protocol inputs have been flattened 2008-02-27 17:20:52 +00:00
Neil Brown
af7a15b4df Changed testTransformProtocolInput so that it does transform protocol inputs in ALT guards 2008-02-27 17:20:19 +00:00
Neil Brown
9b521c9b07 Added tests for testing that testTransformProtocolInput transformed protocol inputs in ALTs 2008-02-27 17:19:47 +00:00
Neil Brown
5c7bb1296b Altered transformProtocolInput to only bother flattening inputs with more than one item 2008-02-27 17:01:19 +00:00
Neil Brown
9b570996ca Added a pass to flatten protocol inputs down into multiple sequential input statements 2008-02-27 16:45:27 +00:00
Neil Brown
018951ef40 Fixed the shift behaviour by moving it out into functions like the add and subtract operations already were 2008-02-27 15:13:11 +00:00
Neil Brown
40bb883497 Fixed the printf specifiers on float and double items for printing errors 2008-02-27 15:09:27 +00:00
Neil Brown
9712df4458 Added a type annotation (esp. for signed types) for hex literals in the C/C++ backends 2008-02-27 14:00:54 +00:00
Neil Brown
245e4536bc Fixed signed hexed values in the constant folder 2008-02-27 14:00:28 +00:00
Neil Brown
93a3c81255 Fixed the right-shift in the constant folding to be an unsigned (logical, non sign-extending) shift 2008-02-27 12:45:29 +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
4595a2ddd5 Added -fno-strict-aliasing to the C and C++ compiler options, since we break strict aliasing when retyping 2008-02-26 18:06:50 +00:00
Neil Brown
0f437dcf0e Fixed the behaviour of the right-shift operator to match how it should work in occam 2008-02-26 17:20:29 +00:00
Neil Brown
5807c59edf Moved the three Flow modules out to a new flow directory 2008-02-26 15:07:07 +00:00
Neil Brown
decf249c51 Moved AST, CompState and Metadata out to a new data directory (along with the generated OrdAST and TagAST) 2008-02-26 15:02:13 +00:00
Neil Brown
bca3f89872 Adjusted the QuickCheck tests, now that Alt is handled properly 2008-02-26 14:34:46 +00:00
Neil Brown
b4ee07a3a7 Fixed a few comments in FlowAlgorithms 2008-02-26 14:24:33 +00:00
Neil Brown
9ba8d30aa0 Added the handling of ALTs to the control-flow graph 2008-02-26 14:20:45 +00:00
Neil Brown
4dbeabb5dc Added the first group of tests for handling ALTs in the control-flow graph building 2008-02-26 14:19:57 +00:00
Neil Brown
5dbf7fea7a Changed functionsToProcs to work on the new style of function, and made sure parallel assignment isn't removed first 2008-02-25 22:05:53 +00:00
Neil Brown
f9625ce495 Adjusted the tests for functionsToProcs to include the new style of functions 2008-02-25 22:02:21 +00:00
Neil Brown
7af49a2d10 Fixed the checkFunction pass 2008-02-25 21:27:37 +00:00
Neil Brown
dcf419744a Renamed the transformFunction pass into checkFunction, and adjusted the tests for it accordingly 2008-02-25 21:17:37 +00:00
Neil Brown
74838bcb80 Fixed functions to work again in the Rain parser, according to the new tests 2008-02-25 17:18:28 +00:00
Neil Brown
839c8ebe7c Fixed the tests for parsing Rain functions, using the new Process body with functionname = returnvalue plan 2008-02-25 17:17:38 +00:00
Neil Brown
4f05f0126f Made decompN check the constructor, and added a short test accordingly 2008-02-25 13:39:28 +00:00
Neil Brown
44b1e574f2 Fixed all the warnings in UsageCheckTest 2008-02-25 12:24:39 +00:00
Neil Brown
1960deef39 Noted down a QuickCheck failure in ArrayUsageCheckTest 2008-02-25 12:09:21 +00:00
Neil Brown
45fb82f3fd Fixed the tests in UsageCheckTest that had been temporarily commented out 2008-02-25 12:08:59 +00:00
Neil Brown
f4a294e989 Renamed the RainUsageCheckTest module to UsageCheckTest 2008-02-25 10:28:33 +00:00
Neil Brown
1edaacae89 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
Neil Brown
74f3cb7fc2 Removed the export of "m" in TestUtils, instead moving the definition to each module that uses it (less confusing that way) 2008-02-24 18:55:44 +00:00
Neil Brown
5d9e2d8e33 Changed rntState so that it "nulls" the bodies of procs and functions first 2008-02-24 15:54:18 +00:00
Neil Brown
caff04c548 Changed the use of everywhereM in underlyingType to use makeGeneric instead 2008-02-24 15:52:09 +00:00
Neil Brown
d5773ee4e0 Changed two uses of gmapQ (const undefined) to the similar glength function in the SYB library 2008-02-24 12:32:25 +00:00
Neil Brown
13c46d1fb2 Moved three pass-related modules out to their own directory 2008-02-24 12:32:21 +00:00
Neil Brown
062cd0415a Added a simple (-h/--help) option for printing the Tock help 2008-02-24 12:15:39 +00:00
Neil Brown
6d9534f9b9 Made running the properties configurable by a --sanity-check command-line option 2008-02-24 12:15:02 +00:00
Neil Brown
feabd450f0 Fixed a conflict between the prolifing-related changes and the dependence graph 2008-02-24 11:23:29 +00:00
Neil Brown
147d799563 Changed the replaceNames function so that it doesn't use everywhere 2008-02-23 18:34:02 +00:00
Neil Brown
ae49d236d6 Changed findMeta so that it would work even if the Meta data was not the first direct child of an item 2008-02-23 18:33:39 +00:00