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