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 feefcfd017 Resolve the c ! x ambiguity outside the parser.
Unfortunately there appears to be exactly one place you can do this, and it
turns out to be inside inferTypes (because you need to know the type of c
completely, and you can't type-infer x until you know if it's a tag or a
variable). It's definitely nicer than doing it in the parser, though.

I've also started adding "-- AMBIGUITY" comments in the parser.
2008-04-06 17:47:41 +00:00
backends Make a pattern match more explicit. 2008-04-06 15:38:59 +00:00
checks Changed to a state monad for warnings, and added a runPassM function to remove duplicate code for running passes 2008-04-03 12:21:59 +00:00
common When rendering array literals, recompute the dimensions. 2008-04-06 15:40:50 +00:00
data Move makeUniqueName and findUnscopedName into CompState. 2008-04-06 17:42:12 +00:00
docextra Clean up the documentation hack a bit. 2008-02-28 14:43:53 +00:00
flow Removed Wait, GetTime and AlternativeWait (the old Rain time items) from the AST 2008-03-24 15:15:54 +00:00
frontends Resolve the c ! x ambiguity outside the parser. 2008-04-06 17:47:41 +00:00
pass Add a resolveAmbiguities pass. 2008-04-06 11:33:10 +00:00
support Added support for occam's flush (sending 255) and moved some of the unreachable flush commands in the C++ support headers 2008-03-25 11:37:02 +00:00
testcases Resolve the c ! x ambiguity outside the parser. 2008-04-06 17:47:41 +00:00
transformations Move evalIntExpression into EvalConstants, now that Types doesn't need it. 2008-04-06 13:31:37 +00:00
AUTHORS Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +00:00
cgtests.mk Added some rules to cgtests.mk for profiling compilation of the cgtests and automatically generating PNGs of the profiles 2008-04-03 11:25:30 +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
CompilerCommands.hs.in Reworked the way we record the C/C++ compiler flags for Tock to use 2008-03-25 14:53:06 +00:00
configure.ac Reworked the way we record the C/C++ compiler flags for Tock to use 2008-03-25 14:53:06 +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
GenOrdAST.hs Added a case for the top-level AST to OrdAST 2008-02-05 22:36:12 +00:00
GenTagAST.hs Changed two uses of gmapQ (const undefined) to the similar glength function in the SYB library 2008-02-24 12:32:25 +00:00
LANGUAGE Implement short-form PLACE, and fix PLACE IN WORKSPACE/VECSPACE. 2008-03-17 18:47:54 +00:00
Main.hs Changed to a state monad for warnings, and added a runPassM function to remove duplicate code for running passes 2008-04-03 12:21:59 +00:00
Makefile.am Rewrite AnalyseAsm's parser. 2008-04-05 22:05:17 +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 Rewrite AnalyseAsm's parser. 2008-04-05 22:05:17 +00:00
tock-1.0.pc.in Reworked the way we record the C/C++ compiler flags for Tock to use 2008-03-25 14:53:06 +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
TypeSizes.hs.in Reworked the way we record the C/C++ compiler flags for Tock to use 2008-03-25 14:53:06 +00:00