Mirror of http://offog.org/git/tock.git . Tock (translator from occam to C from Kent) is a Haskell-based compiler for occam and related languages.
Go to file
Neil Brown bed325beea Parallel Usage Checker and Test Rearrangement
This patch is a bit large, being as it encompasses two major changes:

1. The addition of the first version of a parallel usage checker.  The usage checker uses the generics library (like
   the other passes) to work out if the parallel usage rules are broken.  It mainly consists of:
     a) a function used to determine which variables are written to/read from in given bits of code, and 
     b) a function that applies a) across the members of any par construct in the file, and checks that
        the expected usage rules hold
   The parallel usage checker is in an early stage, but I think the design is sensible - at least for doing the variable
   and array usage.  The channel usage checker will require some slightly different functionality, and
   I am not considering the abbreviation checker yet.
2. As a consquence of adding a second test file (UsageCheckTest) alongside the first (RainParseTest), I have 
   created a TestMain class that is intended to run all tests for all parts of Tock.  I have also extracted some
   useful helper functions (for creating the expected results of tests) into a file named TestUtil.  I've also
   modified the Makefil accordingly.
   
There are a few other minor changes to RainParse/RainParseTest that are also included in the patch as separating them
would have been tricky.
2007-07-30 22:04:30 +00:00
testcases Protocol test case expanded 2007-07-26 21:17:27 +00:00
AST.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
CompState.hs Added backend-selecting command-line options 2007-07-26 21:18:27 +00:00
Errors.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
EvalConstants.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
EvalLiterals.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
GenerateC.hs Fix an unused-bind warning -- rhsSizes isn't used when retyping 2007-08-06 23:24:12 +00:00
GenerateCPPCSP.hs Added warning about unused binds to the compiler options 2007-08-06 20:33:48 +00:00
Indentation.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
Intrinsics.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
kroc-wrapper-c.c Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
kroc-wrapper.occ Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
LANGUAGE Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
Main.hs Added backend-selecting command-line options 2007-07-26 21:18:27 +00:00
Makefile Parallel Usage Checker and Test Rearrangement 2007-07-30 22:04:30 +00:00
Metadata.hs Rain: Parser and Parser-Test framework 2007-07-27 15:11:52 +00:00
Parse.hs Minor Haddock-related fixes 2007-07-25 14:00:48 +00:00
Pass.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
PrettyShow.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
RainParse.hs Parallel Usage Checker and Test Rearrangement 2007-07-30 22:04:30 +00:00
RainParseTest.hs Parallel Usage Checker and Test Rearrangement 2007-07-30 22:04:30 +00:00
SimplifyExprs.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
SimplifyProcs.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
SimplifyTypes.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
SYNTAX Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
TestMain.hs Parallel Usage Checker and Test Rearrangement 2007-07-30 22:04:30 +00:00
TestUtil.hs Parallel Usage Checker and Test Rearrangement 2007-07-30 22:04:30 +00:00
TLP.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
tock_support_cppcsp.h Fixed a bug that stopped arrays with a single dimension (that was also unknown) from having their sizes calculated in tockArrayView. cgtest09 now all passes 2007-07-31 22:04:31 +00:00
tock_support.h C++CSP Backend Added 2007-07-26 21:11:01 +00:00
TODO Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
Types.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
Unnest.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
UsageCheck.hs Parallel Usage Checker and Test Rearrangement 2007-07-30 22:04:30 +00:00
UsageCheckTest.hs Parallel Usage Checker and Test Rearrangement 2007-07-30 22:04:30 +00:00
Utils.hs Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00