Commit Graph

33 Commits

Author SHA1 Message Date
Adam Sampson
a8f0fc2caa Implement record literals 2007-05-05 00:26:26 +00:00
Adam Sampson
ff3bd7fd71 Split UserDataType and Record 2007-05-02 23:44:27 +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
6c9293fa7b Do away with the Literal type, which makes subscripting much more straightforward 2007-04-30 02:16:10 +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
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
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
f8fa60d1ed Implement << and >> 2007-04-25 17:48:16 +00:00
Adam Sampson
c39d7ee237 Constant expression evaluation 2007-04-20 21:15:36 +00:00
Adam Sampson
05aad0602c Allow SIZE cs, where cs is an array of channels or timers or ports
This isn't in the occam2 ordered syntax, but it's very common in occam2 code,
so I assume it's not an intentional omission.
2007-04-19 16:49:12 +00:00
Adam Sampson
9ed003f9e3 Add NoSpecification to AST, to make passes simpler 2007-04-18 23:13:56 +00:00
Adam Sampson
4c6cda3226 Make Specification a proper data type 2007-04-14 01:45:25 +00:00
Adam Sampson
5840659ade Implement array slices 2007-04-13 17:34:09 +00:00
Adam Sampson
3f45d38f15 Lots more stuff implemented -- tagged and count protocols, CASE, rep PAR 2007-04-13 01:35:09 +00:00
Adam Sampson
fd1f559d5c Nearer to getting code to compile -- now needs constant pullups 2007-04-12 03:09:11 +00:00
Adam Sampson
2e9a7e8bd6 Do away with the channel/variable distinction 2007-04-11 19:41:42 +00:00
Adam Sampson
74efa43389 Work towards getting arrays working -- needs a cleanup, though 2007-04-11 17:08:16 +00:00
Adam Sampson
6085cae11f Use AbbrevMode to track whether things are abbreviated, and thus generate C 2007-04-10 22:12:53 +00:00
Adam Sampson
41edc0008b Free name removal 2007-04-08 03:03:22 +00:00
Adam Sampson
f0e25bec2d Wrap PAR subprocesses, and add some Haddock 2007-04-07 16:08:31 +00:00
Adam Sampson
74b2d6d9b9 More work 2007-04-07 14:33:58 +00:00
Adam Sampson
77cef723ec AbbrevMode support 2007-04-07 11:57:12 +00:00
Adam Sampson
667731f892 Fix the case output ambiguity 2007-04-05 17:37:45 +00:00
Adam Sampson
0bf57b0222 Tidier original name handling; slightly better errors 2007-04-05 11:21:32 +00:00
Adam Sampson
7c9036ac9b Track the types of all defined names properly 2007-04-05 01:14:14 +00:00
Adam Sampson
4c20041ff4 Add state while parsing, and track/map names 2007-03-16 01:28:46 +00:00
Adam Sampson
7f5d5e1891 Separate out the different types of name 2007-03-14 16:06:55 +00:00
Adam Sampson
ed27a08b93 Rework to parse straight to AST, and clean up the AST a bit 2007-03-14 04:43:00 +00:00
Adam Sampson
c8c7935905 First stuff for fco2 -- copied from fco 2007-03-13 15:37:55 +00:00