Commit Graph

506 Commits

Author SHA1 Message Date
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
Adam Sampson
26a4190d78 Allow #INCLUDEd files to contain processes 2007-05-01 14:29:36 +00:00
Adam Sampson
f6f5dff849 Add profiling options 2007-05-01 00:53:18 +00:00
Adam Sampson
5ffe4de9ad Support (but ignore in the code generator for now) PLACE AT/IN 2007-04-30 23:24:37 +00:00
Adam Sampson
618ad6d55f Implement INLINE PROC and INLINE FUNCTION 2007-04-30 23:08:32 +00:00
Adam Sampson
77949846ca Ignore unrecognised preprocessor directives 2007-04-30 22:56:56 +00:00
Adam Sampson
73dc1c7057 Make TIMER arguments work 2007-04-30 22:30:15 +00:00
Adam Sampson
b3b17f7611 occam BYTE is unsigned -- use uint8_t 2007-04-30 19:49:08 +00:00
Adam Sampson
db8782dfcf Don't blow up when taking 0-length slices 2007-04-30 19:41:09 +00:00
Adam Sampson
8fae7c4015 Handle IsExpr SubscriptedExpr properly when pulling up 2007-04-30 17:02:50 +00:00
Adam Sampson
25a9595273 TODO items from this week's meeting 2007-04-30 17:02:39 +00:00
Adam Sampson
8460eea254 Parse channel array abbreviations after channel IS abbreviations 2007-04-30 16:38:01 +00:00
Adam Sampson
72eafaedea Ignore INLINE FUNCTION 2007-04-30 04:31:00 +00:00
Adam Sampson
39ec48c1e3 Fix known-dimension arrays in specifiers 2007-04-30 04:25:13 +00:00
Adam Sampson
576c31aa72 Don't attempt to constant-fold empty arrays 2007-04-30 04:03:29 +00:00
Adam Sampson
e701088469 Do away with SubscriptedExprs during pullUp 2007-04-30 03:22:06 +00:00
Adam Sampson
db1c16c2cb Do away with operandNotTable -- it's not needed now we have state, and it breaks stuff 2007-04-30 02:51:46 +00:00
Adam Sampson
6c9293fa7b Do away with the Literal type, which makes subscripting much more straightforward 2007-04-30 02:16:10 +00:00
Adam Sampson
439cedb494 Handle unsubscriptable type contexts 2007-04-30 01:48:30 +00:00
Adam Sampson
76865debc7 Implement PRI PAR (the priorities probably aren't very sensible at the moment) 2007-04-30 01:35:33 +00:00
Adam Sampson
7205272fa5 Use genStructured to do PAR -- which is much shorter 2007-04-30 01:28:17 +00:00
Adam Sampson
ace34232fd Conversions to and from and between reals 2007-04-29 22:35:07 +00:00
Adam Sampson
f7029f6312 Add a trivialSubscriptType function to avoid problems with 0-length slices 2007-04-29 21:43:22 +00:00