Commit Graph

1208 Commits

Author SHA1 Message Date
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
Neil Brown
04be245677 Adjusted the printing out of FlattenedExp; useful on test failure 2008-02-11 11:31:20 +00:00
Neil Brown
9cb191b64c Corrected some bugs related to constant-divisor modulo, especially with negative divisor 2008-02-11 11:05:01 +00:00
Neil Brown
f403a90ccf Adjusted the ArrayUsageCheckTest QuickCheck tests to allow expressions in the top and bottom of modulo, and the top of divides 2008-02-11 11:03:32 +00:00
Neil Brown
b83acaf7c5 Corrected a few comments in ArrayUsageCheckTest 2008-02-11 10:17:27 +00:00
Neil Brown
e76ab116cb Simplified the definition of mkPattern slightly 2008-02-15 17:16:20 +00:00
Neil Brown
cd6e2175f2 Added a new "dump AST" pass 2008-02-14 12:45:11 +00:00
Neil Brown
63af1381f2 Reordered the pass list so that the usage checking happens earlier 2008-02-11 01:16:27 +00:00
Neil Brown
1151fab5ad Changed the error reporting so that we at least print the meta tag if we can't open the file to find the line 2008-02-11 01:15:56 +00:00