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 |
|
Neil Brown
|
635f7bf1b0
|
Changed the backend passes in BackendPasses to not use the everywhere(M) function
|
2008-02-23 18:33:16 +00:00 |
|
Neil Brown
|
6a3452f8cd
|
Added a useful function to Pass for applying a modification function to the Only parts of a Structured
|
2008-02-23 18:32:29 +00:00 |
|
Neil Brown
|
e8189e196b
|
Removed the makePasses functions that did not deal with pre- and post- properties
|
2008-02-19 09:49:14 +00:00 |
|
Neil Brown
|
5cb964092d
|
Added a new module full of properties about the AST, most now with associated validity checks
|
2008-02-19 09:49:05 +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
|
859a6286ac
|
Added functions to PassList that build a dependency graph from a list of properties (based on their pre- and post- properties) and use it to return an ordered pass list
|
2008-02-19 09:43:16 +00:00 |
|
Neil Brown
|
79f67d577f
|
Added functions that allow you to specify the pre- and post- properties for a pass
|
2008-02-19 09:37:20 +00:00 |
|
Neil Brown
|
2bbcd4ec9a
|
Added Eq and Ord instances for the Pass_ data structure (going solely by pass name)
|
2008-02-19 09:36:41 +00:00 |
|
Neil Brown
|
360abc195e
|
Moved the enabling/disabling of passes based on CompState from PassList to the point of the declaration of the passes
|
2008-02-16 11:09:25 +00:00 |
|
Neil Brown
|
3ce0eaf452
|
Made the first adjustment to the Pass system, ready to introduce properties and a dependency graph. For now passes are still executed in list order
|
2008-02-16 10:19:14 +00:00 |
|
Neil Brown
|
21a3619d81
|
Turned division by variables into a non-special expression rather than rejecting it straight out
|
2008-02-11 15:20:36 +00:00 |
|
Neil Brown
|
cfac57ea88
|
Added support for modulo and divide items that are multiplied by another variable (during equation flattening)
|
2008-02-11 14:59:01 +00:00 |
|
Neil Brown
|
c23c575f73
|
Added some more testcases for array usage checking that involve complicated expressions
|
2008-02-11 14:40:28 +00:00 |
|
Neil Brown
|
2ea7e15570
|
Changed the QuickCheck tests to test multiplied variables more thoroughly
|
2008-02-11 14:26:55 +00:00 |
|
Neil Brown
|
fdb2e8d45d
|
Printed out more information when generateMapping fails (keys to VarMap not matching)
|
2008-02-11 12:02:20 +00:00 |
|