Commit Graph

1299 Commits

Author SHA1 Message Date
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
Neil Brown
3b9d75d488 Passed the correct meta tags to the die call when unsafe parallel usage is found 2008-02-11 01:15:25 +00:00
Neil Brown
c3353d6025 Changed the uninitialised-variables notification from a fatal error down to a warning 2008-02-11 00:56:10 +00:00
Neil Brown
18cf66944a Modified the array usage checking to treat any unknown expressions (function calls, etc) like variables were treated before 2008-02-10 23:58:32 +00:00
Neil Brown
57833f7f26 Fixed the broken QuickCheck tests for node replacement 2008-02-10 21:21:03 +00:00
Neil Brown
94d9fedd0e Tweaked some of the probabilities in the ArrayUsageCheckTest QuickCheck tests 2008-02-10 21:20:30 +00:00
Neil Brown
5e87aa1e73 Refactored the way the flow-graph building handles the different Structured items, and tweaked some tests accordingly 2008-02-10 20:07:02 +00:00
Neil Brown
c4b7bd1745 Implemented handling of replicated IFs in flow-graphs 2008-02-10 15:16:46 +00:00
Neil Brown
df8f9429e0 Added some tests for building flow-graphs based on replicated IFs 2008-02-10 15:16:30 +00:00
Neil Brown
1ba2925b7a Added proper support for the Divide item in the array usage checking 2008-02-09 20:12:52 +00:00