Commit Graph

1278 Commits

Author SHA1 Message Date
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