Commit Graph

83 Commits

Author SHA1 Message Date
Adam Sampson
a8f0fc2caa Implement record literals 2007-05-05 00:26:26 +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
200619042d Implement user datatypes 2007-05-03 02:17:53 +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
c55137c7f4 Better runtime checks for RETYPEs 2007-05-02 14:22:56 +00:00
Adam Sampson
b6881e9ea6 Defer RETYPES safety check until runtime 2007-05-02 02:32:06 +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
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
618ad6d55f Implement INLINE PROC and INLINE FUNCTION 2007-04-30 23:08:32 +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
6c9293fa7b Do away with the Literal type, which makes subscripting much more straightforward 2007-04-30 02:16:10 +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
Adam Sampson
057a3a0a67 Better string literal handling: do away with StringLiteral in favour of arrays of ByteLiteral 2007-04-29 21:31:56 +00:00
Adam Sampson
d2c522bec0 Expression retyping 2007-04-29 17:22:13 +00:00
Adam Sampson
2be9b16cc7 Rebrand from FCO to Tock 2007-04-29 16:20:40 +00:00
Adam Sampson
1932ae534a Intrinsic functions (SQRT and DSQRT) 2007-04-29 16:10:29 +00:00
Adam Sampson
2d88249408 Intrinsic PROCs (ASSERT for now) 2007-04-29 14:46:19 +00:00
Adam Sampson
2bcdd7cd66 Big AST rework: all spec/rep stuff is now done with Structured 2007-04-27 21:49:34 +00:00
Adam Sampson
5a89e1722c Initial RETYPES/RESHAPES support 2007-04-27 03:01:32 +00:00
Adam Sampson
6e04185502 Fix channel array abbreviations 2007-04-26 22:54:01 +00:00
Adam Sampson
39bbc1e10e Support (but complain about!) empty versions of SEQ, IF, etc. 2007-04-26 21:56:05 +00:00
Adam Sampson
6cdfb98086 Strip leading zeros from decimal literals 2007-04-26 21:24:38 +00:00
Adam Sampson
f0223ec40a Get multidimensional array literals working (by changing their AST representation) 2007-04-26 21:21:35 +00:00
Adam Sampson
80bfdcd0a6 Make Dimension take an Int rather than an Expression 2007-04-26 20:21:03 +00:00
Adam Sampson
d20b113a00 Generate AFTER using > and MINUS 2007-04-25 21:24:20 +00:00
Adam Sampson
f8fa60d1ed Implement << and >> 2007-04-25 17:48:16 +00:00
Adam Sampson
94e3bcd7fe Recast the driver and most of the components into the PassM monad 2007-04-25 16:42:17 +00:00
Adam Sampson
a1f045260b Big parser rework: remove all the extraneous "try" calls in favour of more specific commits 2007-04-25 01:33:30 +00:00
Adam Sampson
2383345f88 Make all the Types functions monadic; make Errors useful 2007-04-24 21:49:03 +00:00
Adam Sampson
7d2013d3f1 Generate more natural replicator loops when base == 0 2007-04-24 13:03:08 +00:00
Adam Sampson
5120b2e112 Add a proper TLP interface checker 2007-04-24 00:07:35 +00:00
Adam Sampson
3d4a1d1020 Range check type conversions, and implement arithmetic ops for all basic types 2007-04-23 23:17:36 +00:00
Adam Sampson
408b8614e2 Add array bounds checking 2007-04-23 10:33:51 +00:00
Adam Sampson
432c89e625 Make STOPs report where and why they stopped 2007-04-21 03:15:38 +00:00
Adam Sampson
f38d548c33 Make Meta a simple structure 2007-04-21 02:54:08 +00:00
Adam Sampson
c3cbb46ba1 Give everything a 64k stack, because my q7 needs it 2007-04-21 00:08:57 +00:00
Adam Sampson
ff01ddc8c8 Support #INCLUDE and #USE 2007-04-20 23:44:38 +00:00
Adam Sampson
c39d7ee237 Constant expression evaluation 2007-04-20 21:15:36 +00:00
Adam Sampson
dfa1f6c5e6 Support array assignment (and check that assignments are sensible), and nested slicing 2007-04-20 16:01:15 +00:00
Adam Sampson
e8d61dcac7 Move parallel assignment handling into a pass 2007-04-20 13:16:29 +00:00
Adam Sampson
ca5c56f813 Move a lot of FIXMEs into the to-do list 2007-04-20 01:40:41 +00:00
Adam Sampson
aae24af5d5 Undo change that broke case input 2007-04-20 01:19:59 +00:00
Adam Sampson
23e3261e4d Use the new ALT interface in CIF, and have a generic function for Structureds 2007-04-20 01:13:00 +00:00