Neil Brown
|
9ca3cf0f86
|
Changed the node type in the control flow graph to add a modification function, and adjusted the types of the other graph types accordingly
|
2007-11-07 13:17:15 +00:00 |
|
Neil Brown
|
4539745dff
|
Introduced scoped type variables into the signature of flowAlgorithm
|
2007-11-07 13:00:10 +00:00 |
|
Neil Brown
|
13cf7df8bf
|
Added functions for helping to decompose the AST and map functions over it
|
2007-11-07 11:26:07 +00:00 |
|
Neil Brown
|
3b43411d4e
|
Changed the type of findReachDef, implemented it, and wrote some basic tests for it (that pass)
|
2007-11-02 23:47:20 +00:00 |
|
Neil Brown
|
341e324415
|
Added an export list to the RainUsageCheck module
|
2007-11-02 16:46:42 +00:00 |
|
Neil Brown
|
093447dd24
|
Added a skeleton function for findReachDef, along with the start of some tests for it
|
2007-11-02 16:46:20 +00:00 |
|
Neil Brown
|
5f57803616
|
Moved assertEither and assertEitherFail into TestUtil
|
2007-11-02 16:44:10 +00:00 |
|
Neil Brown
|
4bb2b2a407
|
Moved mapPair into Utils, and renamed it to transformPair (to be consistent with the pre-existing transformX functions)
|
2007-11-02 16:44:02 +00:00 |
|
Neil Brown
|
b291901f5c
|
Changed the flowAlgorithm function to have an error return (of type String)
|
2007-11-02 14:00:45 +00:00 |
|
Neil Brown
|
153a1823a7
|
Changed the tests for checkInitVar so that they display the new error return upon failure
|
2007-11-02 11:45:22 +00:00 |
|
Neil Brown
|
8472f991d0
|
Added error return to the checkInitVar function, and also changed it to use the new extended Set implementation, which in turn allowed me to fix the bug in the checkInitVar function (defVal is Everything, not the empty set)
|
2007-11-02 11:44:04 +00:00 |
|
Neil Brown
|
7d89b4aec0
|
Added the implementation of an ExSet type that can easily represent the set of everything
|
2007-11-02 11:41:59 +00:00 |
|
Neil Brown
|
c43a11c057
|
Added more checkInitVar tests (for sequential loops), but some of them fail
|
2007-11-01 16:39:03 +00:00 |
|
Neil Brown
|
6fbca55569
|
Added comments to the tests for checkInitVar, and added a couple more tests
|
2007-11-01 16:24:47 +00:00 |
|
Neil Brown
|
cf0cc81ae4
|
Added a new function that checks that variables are initialised before they are read in a control-flow graph, and added tests for it (that all now pass)
|
2007-11-01 11:45:36 +00:00 |
|
Neil Brown
|
75ed35f2e3
|
Fixed a list of imports not being in alphabetical order in RainUsageCheckTest
|
2007-11-01 11:44:38 +00:00 |
|
Neil Brown
|
de6bd021f0
|
Added the basics of an algorithm for doing iterate data-flow analysis
|
2007-11-01 11:41:17 +00:00 |
|
Neil Brown
|
49de728d6f
|
Added code relating to declarations in the flow-graph labels for usage checking
|
2007-11-01 00:33:44 +00:00 |
|
Neil Brown
|
fddc3fb6b8
|
Added support for simple input statements to the usage checker
|
2007-10-29 18:42:33 +00:00 |
|
Neil Brown
|
5280bb4fc6
|
Added support for output statements to the usage checker
|
2007-10-29 18:29:29 +00:00 |
|
Neil Brown
|
1f97bc7d49
|
Merged some common code in the usage checker (for processing the Variables)
|
2007-10-29 18:23:46 +00:00 |
|
Neil Brown
|
cb964c620f
|
Added support for the time statements in the usage checker
|
2007-10-29 17:57:57 +00:00 |
|
Neil Brown
|
a891e34d24
|
Tidied up some of the usage checker tests
|
2007-10-29 17:53:58 +00:00 |
|
Neil Brown
|
1d785b3c6d
|
Changed the usage checker tests to match the new usage checker
|
2007-10-29 17:32:34 +00:00 |
|
Neil Brown
|
d38c2aef08
|
Overhauled the usage checker to use sets of Strings for recording the used variables
|
2007-10-29 17:32:23 +00:00 |
|
Neil Brown
|
700ddf149e
|
Moved the old attempt at a usage checker into a new module just for doing Rain usage checks
|
2007-10-29 17:13:23 +00:00 |
|
Neil Brown
|
4d6d645010
|
Fixed various bugs in the build system relating to detected CCSP and C++CSP
|
2007-10-14 17:04:11 +00:00 |
|
Neil Brown
|
8e2c31f191
|
Tidied up some CCSP/C++CSP bits in configure.ac
|
2007-10-28 22:25:33 +00:00 |
|
Neil Brown
|
8ad4e8aab4
|
Added checks for required haskell libraries in configure.ac (using ghc-pkg)
|
2007-10-28 22:25:06 +00:00 |
|
Neil Brown
|
7ba4392b49
|
Made a common function for the required-program checks in configure.ac
|
2007-10-28 22:22:55 +00:00 |
|
Neil Brown
|
16df6a1774
|
Fixed some conflicts between some branches, in RainPassesTest
|
2007-10-28 18:34:28 +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
|
25f2efb94c
|
Changed the existing Rain code (and tests) to use the new List type rather than the Array type
|
2007-10-25 10:13:17 +00:00 |
|
Neil Brown
|
a6cbdfeb94
|
Changed some functions in the Types module to handle the new List type
|
2007-10-25 10:11:19 +00:00 |
|
Neil Brown
|
201c6ab754
|
Added a List type to the AST
|
2007-10-25 10:02:50 +00:00 |
|
Neil Brown
|
cbc6a70b30
|
Changed the control-flow graph generation to use the proposed function dictionary, and add the scope-out nodes
|
2007-10-28 18:26:09 +00:00 |
|
Neil Brown
|
adafbd2cc4
|
Added support (and tests) for if statements in the control-flow graph generation
|
2007-10-28 17:24:26 +00:00 |
|
Neil Brown
|
49228150cf
|
Refactored a couple of clauses in the building of the control-flow graph
|
2007-10-28 17:04:45 +00:00 |
|
Neil Brown
|
5c4bf74a75
|
Added support (and tests) for case statements in the control-flow graph
|
2007-10-28 16:31:15 +00:00 |
|
Neil Brown
|
bd14ed56ba
|
Changed the edge-labelling scheme in the control-flow graph to have beginpar/endpar nodes with matching ids
|
2007-10-28 14:55:43 +00:00 |
|
Neil Brown
|
b6d525fbb8
|
Added tests for while loops in the control-flow graph
|
2007-10-28 12:39:26 +00:00 |
|
Neil Brown
|
cde83c83ae
|
Added the capability of outputting graphviz scripts representing control-flow graphs
|
2007-10-28 12:11:27 +00:00 |
|
Neil Brown
|
25f13e6c6f
|
Added more tests for the control-flow graph, for Specs in Structured items
|
2007-10-28 11:38:04 +00:00 |
|
Neil Brown
|
cf17814b98
|
Changed the types involved in the control-flow graph so that I can customise the Show implementation
|
2007-10-28 11:35:51 +00:00 |
|
Neil Brown
|
a0c54220e2
|
Added more tests for the Seq and Par blocks in the control-flow graph
|
2007-10-28 01:25:44 +00:00 |
|
Neil Brown
|
cb17d62018
|
Changed findMeta so that it now works when directly applied to a Meta tag
|
2007-10-28 01:23:10 +00:00 |
|
Neil Brown
|
d2e54ea483
|
Added another helper function to the Utils module
|
2007-10-28 01:22:55 +00:00 |
|
Neil Brown
|
aea462d41a
|
Fixed some bugs in the test harness for the control-flow graph
|
2007-10-28 00:36:27 +00:00 |
|
Neil Brown
|
fbd297e23e
|
Added more tests for the control-flow graph stuff (for basic Seq and Par blocks)
|
2007-10-28 00:13:15 +00:00 |
|
Neil Brown
|
9b1cd56050
|
Changed the identifiers/values on graph nodes in the control-flow graph to be produced monadically, and altered the tests accordingly
|
2007-10-27 23:59:33 +00:00 |
|