Neil Brown
33e3123148
Minor Haddock-related fixes
...
Fixes a few minor things in the code that were confusing the Haddock parser during "make haddock"
2007-07-25 14:00:48 +00:00
Adam Sampson
c33dff1398
Add Makefile rule to get cgtests
2007-07-16 21:54:46 +00:00
Adam Sampson
50731d0b75
Give tock its own repo -- i.e. remove everything else and move tock up
2007-07-16 21:48:55 +00:00
Adam Sampson
bf1a0392d5
Reinstate inline support, and tweak GCC options
2007-07-06 17:05:28 +00:00
Adam Sampson
a34213b07b
Add another to-do
2007-05-24 16:26:08 +00:00
Adam Sampson
0a4e28a585
Add a "Hello, world" demo
2007-05-16 23:35:16 +00:00
Adam Sampson
a75ac6a455
Wholesale rename: ParseState is now CompState
2007-05-16 23:31:44 +00:00
Adam Sampson
e4125e768b
Fix literal typechecking for user types
2007-05-16 22:09:45 +00:00
Adam Sampson
5c0a152320
Make Show Type produce occam-looking types, for nicer error messages
2007-05-16 21:15:05 +00:00
Adam Sampson
b6537890e0
Helper function for "sequence_ $ intersperse genComma"
2007-05-16 19:39:04 +00:00
Adam Sampson
d5766c5fe5
Implement arrays inside records.
...
... which required a bunch of stuff:
- Record handling in the literal evaluator (to solve a nasty problem with
record literals documented in the code).
- Splitting abbrevModeOfVariable into two functions which do the two
(different) things it was previously used for.
- Clean up how arrays are handled in GenerateC.
- Fix the pullup rules for record literals containing arrays.
2007-05-16 19:34:10 +00:00
Adam Sampson
b2fb4ee22f
Fix a record literal parsing bug (where array type folding confused it)
2007-05-11 02:03:26 +00:00
Adam Sampson
0337cf842f
Constant-fold table elements
2007-05-11 01:58:34 +00:00
Adam Sampson
95cc912a2d
Remove debugging
2007-05-11 01:58:24 +00:00
Adam Sampson
a8f0fc2caa
Implement record literals
2007-05-05 00:26:26 +00:00
Adam Sampson
95d366ff40
Tidy up literal typing
2007-05-04 01:14:01 +00:00
Adam Sampson
afdd2c88e7
Fix parsing of field names
2007-05-03 23:15:24 +00:00
Adam Sampson
6a30c57f52
Resolve named types when checking conversions
2007-05-03 23:13:23 +00:00
Adam Sampson
4551d97b28
Make unsubscriptType produce the right types for slices
2007-05-03 20:21:19 +00:00
Adam Sampson
ed847a1ea9
Do array assignment check at runtime, and produce better metadata
2007-05-03 18:07:22 +00:00
Adam Sampson
a17ee03393
Rework how array contexts are handled in actuals
2007-05-03 17:44:26 +00:00
Adam Sampson
c6e062cde0
Resolve user types for subscripts and case selectors
2007-05-03 03:53:06 +00:00
Adam Sampson
47ecfd5670
Make the constant folder (minimally) aware of named types
2007-05-03 03:38:32 +00:00
Adam Sampson
043e8e1114
Recurse into array types
2007-05-03 03:38:25 +00:00
Adam Sampson
de36b66c8d
Handle the Map types in ParseState
2007-05-03 03:31:09 +00:00
Adam Sampson
f84ce0e5c2
Allow empty formal lists too
2007-05-03 03:11:55 +00:00
Adam Sampson
4b0e02a4ce
Apply dimensions to string literals too
2007-05-03 03:10:20 +00:00
Adam Sampson
0c1413c8da
Fix formal parsing
2007-05-03 02:58:17 +00:00
Adam Sampson
3d897a70fd
Rework (but don't yet fix) formalArgSet
2007-05-03 02:43:01 +00:00
Adam Sampson
200619042d
Implement user datatypes
2007-05-03 02:17:53 +00:00
Adam Sampson
4d9c4176a8
Don't pull named types
2007-05-03 00:11:11 +00:00
Adam Sampson
0271fbc1d7
Add some bad retype testcases
2007-05-03 00:09:20 +00:00
Adam Sampson
ff3bd7fd71
Split UserDataType and Record
2007-05-02 23:44:27 +00:00
Adam Sampson
5480262836
Allow genBytesIn' of channels
2007-05-02 22:13:29 +00:00
Adam Sampson
db79a4f3e6
Prune traversals of the AST (speeds up from 90s to 20s for ats1-q7)
2007-05-02 21:51:35 +00:00
Adam Sampson
a90fefefb2
Use Maps for things that should be maps
2007-05-02 20:14:44 +00:00
Adam Sampson
c55137c7f4
Better runtime checks for RETYPEs
2007-05-02 14:22:56 +00:00
Adam Sampson
13dccaba4d
Fix "? CASE tag" parsing in ALTs
2007-05-02 13:18:41 +00:00
Adam Sampson
b6881e9ea6
Defer RETYPES safety check until runtime
2007-05-02 02:32:06 +00:00
Adam Sampson
8cb163051c
Support Byte/Int/Int16/Int32/Int64 in the evaluator.
...
I found a use for "forall"...
2007-05-02 01:45:32 +00:00
Adam Sampson
d5ac929685
Improvements to the constant folder (array subscript support)
2007-05-02 00:55:00 +00:00
Adam Sampson
4510f523cb
Permit BOOL as CASE selector, and make sure selectors are constant
2007-05-02 00:40:57 +00:00
Adam Sampson
43e36f11d0
Make genBytesIn work on arrays with unknown dimensions
2007-05-02 00:34:19 +00:00
Adam Sampson
164aa15ad3
Implement channel retyping
2007-05-02 00:07:39 +00:00
Adam Sampson
c3841b6395
Make \ work correctly with negative numbers
2007-05-01 23:47:07 +00:00
Adam Sampson
478ee9de79
Make real-to-int conversion actually round or truncate
2007-05-01 23:29:54 +00:00
Adam Sampson
189e850093
Implement \ for REAL32 and REAL64
2007-05-01 23:27:37 +00:00
Adam Sampson
01f3a769fd
Allow VAL RETYPE to scalar types
2007-05-01 23:22:42 +00:00
Adam Sampson
e8a38a6f02
Expand out array literals inside literals
2007-05-01 23:04:00 +00:00
Adam Sampson
287fb8b922
Ignore ROUND/TRUNC when used on a precise conversion (e.g. REAL64 ROUND real64)
2007-05-01 14:31:36 +00:00