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 ca207f7291 Quickly implemented the first version of a revamp of the genVariable code in the C backend
Surprisingly, the generated code seems to be compiled by GCC without warnings.  Array subscripts are currently unimplemented (a star, i.e. equivalent of subscript 0) is used wherever there should be a subscript.

The new mechanism is based on working out the C type of the original variable/abbrev-mode, the C type of the desired variable/abbrev-mode, and works out how many *s or &s to insert to coerce it to the right type.
2009-03-21 18:43:32 +00:00
backends Quickly implemented the first version of a revamp of the genVariable code in the C backend 2009-03-21 18:43:32 +00:00
checks Resolve user types when checking parallel array access. 2009-03-21 15:39:13 +00:00
common Added an AllSizesVariable item to the AST so that the backend inserts the right code for mobiles and non-mobiles 2009-03-20 11:31:14 +00:00
config Fixed the constant folding to use a type for Int based on the compilation target rather than just assuming Int32 2009-01-23 15:50:06 +00:00
data Added an option to automatically run indent on C/C++ source before running GCC 2009-03-21 18:25:09 +00:00
docextra Add the Tock hacker's guide to the repository. 2008-11-20 13:41:06 +00:00
flow Added information in the flow graph edges as to when a condition becomes non-usable (e.g. when the branches of an IF merge again) 2009-02-09 16:57:13 +00:00
frontends Fixed a bug in the occam type inference where channels of arrays were not being processed properly 2009-02-27 17:01:07 +00:00
pass Added command line options for occam 2 mobility, and turned it off by default 2009-03-19 11:38:48 +00:00
pregen Make GenNavAST generate instances of a "Polyplate" class. 2008-05-10 16:27:46 +00:00
support Moved the mobile stuff across to use the CCSP API 2009-03-19 11:33:09 +00:00
testcases Fixed some of the tests, and added another testcase for array passing, based on one of Carl's examples 2009-03-20 12:59:16 +00:00
transformations Added the code to mobilise arrays inside protocols 2009-03-20 11:26:54 +00:00
AUTHORS Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +00:00
cgtests.mk Added an option to automatically run indent on C/C++ source before running GCC 2009-03-21 18:25:09 +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 Added a line to fix an autoconf warning and added -lm to the link options (for the math libraries) 2009-01-27 16:59:35 +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 an option to automatically run indent on C/C++ source before running GCC 2009-03-21 18:25:09 +00:00
Makefile.am Changed multiply back to the very simplest implementation 2009-01-23 13:36:09 +00:00
NEWS Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +00:00
rangetest.c Implemented ASHIFTRIGHT (straightforward) and ASHIFTLEFT (amazingly hard) and tested them 2009-01-26 18:57:50 +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 Added some testcases related to checking the use of abbreviations 2009-02-08 23:25:30 +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