Commit Graph

2533 Commits

Author SHA1 Message Date
Neil Brown
f11db734a8 Added in kroc_argc and kroc_argv that is expected by one of the occam modules 2009-04-15 17:11:03 +00:00
Neil Brown
5f87855cc7 Fixed the backend so that it does not think stack sizes are needed for external functions 2009-04-15 17:10:29 +00:00
Neil Brown
681b1aa878 Added a couple of new pragmas (TOCKINCLUDE and TOCKNATIVELINK) to help with modules 2009-04-15 17:09:22 +00:00
Neil Brown
2d7728a4b7 Fixed the bitwise functions for BYTE in the support headers 2009-04-15 17:06:36 +00:00
Neil Brown
5dc19cc614 Fixed part of the full-compile stuff that was using stale CompState 2009-04-15 17:05:36 +00:00
Neil Brown
1572752534 Renamed the --external-link flag to --linker-flags (which is more like the corresponding --compiler-flags option) 2009-04-15 17:05:12 +00:00
Neil Brown
5fe8d4ba6a Fixed a couple of small things in the C backend that were causing GCC to spew out lots of warnings 2009-04-15 12:06:29 +00:00
Neil Brown
587554a5a0 Stopped INLINE PROCs and INLINE FUNCTIONs being written out to the .tock.inc files 2009-04-15 12:05:34 +00:00
Neil Brown
d03a0d4cb1 Added support for a new TOCKSIZES pragma that will be used in .module files to indicate that some .sizes should be loaded 2009-04-14 17:05:37 +00:00
Neil Brown
058ed31cad Changed the implicit modules to be INCLUDEd rather than USEd (duh!) 2009-04-14 17:04:46 +00:00
Neil Brown
ce15465849 Made the preprocessor be a little clearer with regards to its suffix workings 2009-04-14 17:04:13 +00:00
Neil Brown
ca3fc18748 Fixed the backend to work out the header extension better 2009-04-14 17:03:55 +00:00
Neil Brown
54175f1a08 Added a new csExtraSizes item to CompState and adjusted Main to work with that and the new AnalyseAsm 2009-04-14 17:03:21 +00:00
Neil Brown
5f5dac41d1 Fixed the backend to work with channels that shared at one end only 2009-04-14 17:01:09 +00:00
Neil Brown
46f9e1f7e4 Changed AnalyseAsm to give more helpful error messages when there is a problem 2009-04-14 16:59:53 +00:00
Neil Brown
3a2182326c Added a new function in Utils for splitting a file into its extension, and the rest of it 2009-04-14 16:58:38 +00:00
Neil Brown
5abf19a2a3 Added a dummy sizes file for the dummy occamutl module 2009-04-14 16:58:26 +00:00
Neil Brown
bda3a0ad96 Stopped the usage checker checking shared channels for CREW violations 2009-04-14 12:11:32 +00:00
Neil Brown
433be2105b Corrected the parser to accept normal channels with only one end shared 2009-04-14 12:07:41 +00:00
Neil Brown
d2260e1736 Added a new function to Utils, and made one of the existing functions simpler and more efficient 2009-04-14 12:07:12 +00:00
Neil Brown
1a3df54ee7 Fixed SKIP not being allowed as a guard without a precondition 2009-04-14 11:13:00 +00:00
Neil Brown
71267f12d5 Fixed direction specifiers in the LHS of a RETYPES confusing the parser 2009-04-14 11:12:44 +00:00
Neil Brown
f257100ba8 Added support for the SETPRI intrinsic 2009-04-14 11:05:27 +00:00
Neil Brown
50662fa6f0 Added support for passing preprocessor defines from the command-line 2009-04-14 10:48:26 +00:00
Neil Brown
bf8c87b873 Fixed the type-checking so that user-defined types that are mobile type-check properly 2009-04-13 22:41:07 +00:00
Neil Brown
c2b31d3c78 Fixed the listify function, especially for the C backend, so that the ordering is what we want, regardless of whether it makes sense 2009-04-13 22:40:25 +00:00
Neil Brown
d36503e15d Fixed a couple of problems in the backend with channel bundles 2009-04-13 20:37:21 +00:00
Neil Brown
f2c4ada01b Removed PolyplateSpine in favour of using PolyplateM (and the State monad) everywhere 2009-04-13 20:37:14 +00:00
Neil Brown
04974ae470 Fixed various typing problems involving channel bundles 2009-04-13 19:20:15 +00:00
Neil Brown
e409b15b58 Merged latest patches from trunk into Polyplate 2009-04-13 16:58:07 +00:00
Neil Brown
9069282ca2 Added support to the backend for FORK and FORKING 2009-04-13 14:58:07 +00:00
Neil Brown
c9b4af3d7d Added a pass that works out which FORK statement corresponds to which FORKING block (and adds a FORKING just inside the main PROC) 2009-04-13 14:57:18 +00:00
Neil Brown
d4a119ecf4 Added lexing, parsing and type-checking support for FORKING and FORK 2009-04-13 14:57:03 +00:00
Neil Brown
b21940585d Added a few FORKING-related entries to the AST 2009-04-13 14:56:19 +00:00
Neil Brown
80dac0492b Fixed a bug where specifications were being misinterpreted inside IFs during parsing
I find it surprising this bug had been in there so long.  It was interpreting "INT i" as an expression in an IF, then couldn't resolve i, rather than backing out and correctly parsing the whole line, "INT i:" as a specification.
2009-04-12 16:26:54 +00:00
Neil Brown
8f943c9ac1 Changed freeNamesIn to use PolyplateM rather than PolyplateSpine
This sliced the time on part of tocktest to 5% of the previous time, which rather suggests that I should do away with PolyplateSpine.
2009-04-11 17:53:33 +00:00
Neil Brown
c8b724d2be Merged the latest set of changes from the trunk into the Polyplate branch
I also added the import list to all the Data.Generics imports in the tests (as I did for the other modules recently)
2009-04-10 20:38:29 +00:00
Neil Brown
8f767ff0d4 Made all the imports of Data.Generics have an import list
This makes sure that we catch all leftover instances of using SYB to do generic operations that we should be using Polyplate for instead.  Most modules should only import Data, and possibly Typeable.
2009-04-09 15:36:37 +00:00
Neil Brown
e61a23855a Fixed all the conflicts while merging into the Polyplate branch 2009-04-09 11:01:39 +00:00
Neil Brown
85ed6b8fbe Discovered that I'd googled to some outdated docs, and fixed the last comment change 2009-02-11 16:50:47 +00:00
Neil Brown
399433a18a Added a note to the comments in GenInstances 2009-02-11 16:45:10 +00:00
Neil Brown
ae74752336 Fixed a bug introduced in the Polyplate merging where findDir wasn't working properly 2009-02-11 16:02:56 +00:00
Neil Brown
a3d1e952f4 Corrected my documentation, after trying to actually use it 2009-02-11 14:47:45 +00:00
Neil Brown
b6b4188b7c More Polyplate merging in SimplifyAbbrevs 2009-02-11 13:30:54 +00:00
Neil Brown
0d5299b10f Added some documentation for the Polyplate library 2009-02-11 13:26:11 +00:00
Neil Brown
9294febd6f Converted addDirections to the Polyplate traversals, and fixed inferTypes to work in Polyplate (more merging from trunk) 2009-02-11 12:17:28 +00:00
Neil Brown
a72b01ff02 Merged the latest changes from my usage checking into the polyplate branch 2009-02-10 17:11:24 +00:00
Neil Brown
c69ea8815d Merged in the latest changes from the trunk into the Polyplate branch 2009-02-03 13:14:07 +00:00
Neil Brown
effa8189b1 Disabled the pass that checks for unused variables for now as it runs too slowly 2009-01-28 15:48:31 +00:00
Neil Brown
5a10e94c6a Fixed various conflicts between the Polyplate branch and the latest changes in the trunk 2009-01-28 15:48:08 +00:00