Commit Graph

41 Commits

Author SHA1 Message Date
Adam Sampson
618ad6d55f Implement INLINE PROC and INLINE FUNCTION 2007-04-30 23:08:32 +00:00
Adam Sampson
73dc1c7057 Make TIMER arguments work 2007-04-30 22:30:15 +00:00
Adam Sampson
576c31aa72 Don't attempt to constant-fold empty arrays 2007-04-30 04:03:29 +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
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
1932ae534a Intrinsic functions (SQRT and DSQRT) 2007-04-29 16:10:29 +00:00
Adam Sampson
5de146234f Be a bit smarter about figuring out when conversions are precise 2007-04-29 14:05:28 +00:00
Adam Sampson
5e32facc59 Better reporting of invalid subscripts 2007-04-27 18:39:32 +00:00
Adam Sampson
09be48dca3 Split the literal evaluator into a new module, and make type subscripting smarter 2007-04-27 12:59:40 +00:00
Adam Sampson
5a89e1722c Initial RETYPES/RESHAPES support 2007-04-27 03:01:32 +00:00
Adam Sampson
8a0702dfa3 Add simplifyType (unused for now) 2007-04-26 20:20:44 +00:00
Adam Sampson
f2a9093a4f Big parser rework part 2: proper type checking and inference 2007-04-25 13:03: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
3d4a1d1020 Range check type conversions, and implement arithmetic ops for all basic types 2007-04-23 23:17:36 +00:00
Adam Sampson
f38d548c33 Make Meta a simple structure 2007-04-21 02:54:08 +00:00
Adam Sampson
c39d7ee237 Constant expression evaluation 2007-04-20 21:15:36 +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
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
e610e85a8a Implement functions, and fix parsing of function calls 2007-04-19 15:48:19 +00:00
Adam Sampson
4b9e3a1ed5 Identify and deal with constant expressions/variables 2007-04-19 00:17:02 +00:00
Adam Sampson
2ec22a5c24 Multidimensional arrays and slices 2007-04-13 23:58:40 +00:00
Adam Sampson
5840659ade Implement array slices 2007-04-13 17:34:09 +00:00
Adam Sampson
7f18241afb RECORD and PACKED RECORD support 2007-04-13 15:53:00 +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
00cec5cd5c Pull up array expressions 2007-04-12 16:55:26 +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
f1c17bea50 More arrays work -- now producing a reasonable-looking commstime 2007-04-12 02:30:26 +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
e6cf94c60e Type cleanups 2007-04-11 13:02:54 +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
77555d1a48 More generation stuff -- as far as I can get without making changes elsewhere 2007-04-07 00:32:39 +00:00
Adam Sampson
572fa26ad7 A start at generating C++ code 2007-04-06 23:12:21 +00:00
Adam Sampson
667731f892 Fix the case output ambiguity 2007-04-05 17:37:45 +00:00