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
Adam Sampson 62a0873d3d Implement channel direction decorators.
This is mostly straightforward: modify the parser to allow direction
decorators in the right places, and extend the type checker to match.
There's some slight awkwardness in that some of the Types functions
have to perform the same checks as the type checker (e.g. directing a
non-channel), so I've tidied up their error messages a bit.

At the backend, I've just added a little pass to strip out all the
DirectedVariables, since the other backend passes don't handle them
gracefully. From the occam/C point of view this is fine, but I'm not
sure if it's going to cause problems for C++.
2008-06-09 21:35:20 +00:00
backends Implement channel direction decorators. 2008-06-09 21:35:20 +00:00
checks Filled in getVarSpec, to record the variables read from and written to in specifications 2008-06-07 20:30:24 +00:00
common Implement channel direction decorators. 2008-06-09 21:35:20 +00:00
config Do away with the pkgconfig file in favour of another generated module. 2008-05-07 13:06:27 +00:00
data Remove an "in the future" comment that's been done. 2008-06-06 10:15:43 +00:00
docextra Fix the page size in the Tock logo. 2008-05-14 23:22:50 +00:00
flow Added support for recording conditional expressions in the flow graph (based on IF and WHILE, at least) 2008-06-07 20:28:04 +00:00
frontends Implement channel direction decorators. 2008-06-09 21:35:20 +00:00
pass Implement channel direction decorators. 2008-06-09 21:35:20 +00:00
pregen Make GenNavAST generate instances of a "Polyplate" class. 2008-05-10 16:27:46 +00:00
support Fixed implicit mobility to work in the (C++, at least) backend 2008-06-01 19:46:32 +00:00
testcases Implement channel direction decorators. 2008-06-09 21:35:20 +00:00
transformations Changed the writtenVars entry of Vars to be a map from variables to (assigned-from) expressions 2008-06-05 20:30:44 +00:00
AUTHORS Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +00:00
cgtests.mk Add a "run" target to build and run the cgtests. 2008-04-08 15:17:40 +00:00
ChangeLog Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +00:00
compile-cgtests Added rules for getting and making the cgtests to the new Automake make system 2007-10-09 00:44:41 +00:00
configure.ac Fixed a conflict in configure.ac, adding the GLIB_ flags to the C flags 2008-05-18 11:39:51 +00:00
COPYING Add licensing information. 2007-08-18 20:42:11 +00:00
COPYING.LIB Add licensing information. 2007-08-18 20:42:11 +00:00
LANGUAGE Implement channel direction decorators. 2008-06-09 21:35:20 +00:00
Main.hs Added support for recording terminator nodes (as well as root nodes) while building the flow graph 2008-05-30 17:15:52 +00:00
Makefile.am Implement INITIAL and RESULT abbreviations. 2008-06-03 14:57:24 +00:00
NEWS Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +00:00
README Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +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 Implement INITIAL and RESULT abbreviations. 2008-06-03 14:57:24 +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