Commit Graph

1278 Commits

Author SHA1 Message Date
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
a8bffbcac0 Add a SimplifyProcs module and move parsToProcs into it 2007-04-20 12:30:33 +00:00
Adam Sampson
e7f63b0ac7 Remove some things I've already done 2007-04-20 12:30:03 +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
Adam Sampson
93a03af9ed Generate operators as unchecked versions when used on constants.
This isn't the right thing to do -- we need to fold constants properly.
2007-04-19 18:35:28 +00:00
Adam Sampson
a2f3c868d9 Generate array constants properly 2007-04-19 18:12:31 +00:00
Adam Sampson
4efde46770 Fix printf 2007-04-19 18:01:50 +00:00
Adam Sampson
618ded6afd Fix string/character literal escaping 2007-04-19 17:57:35 +00:00
Adam Sampson
ec8c4a1c48 Implement ALT (somewhat incompletely for now, owing to CIF limitations) 2007-04-19 17:30:11 +00:00
Adam Sampson
67e83ad801 Yet another fix for channel array reference generation 2007-04-19 17:19:20 +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
124cf8f433 A couple more testcases 2007-04-19 16:43:42 +00:00
Adam Sampson
e610e85a8a Implement functions, and fix parsing of function calls 2007-04-19 15:48:19 +00:00
Adam Sampson
3cfbcd6055 Fix for array abbreviations 2007-04-19 00:24:29 +00:00
Adam Sampson
4b9e3a1ed5 Identify and deal with constant expressions/variables 2007-04-19 00:17:02 +00:00
Adam Sampson
325199d16d Add a to-do list file 2007-04-19 00:10:46 +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
23f656eb2b Nicer TIMERs 2007-04-14 00:29: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
1a76e91c7f CASE tags need protocol name suffix 2007-04-13 16:11:14 +00:00
Adam Sampson
7f18241afb RECORD and PACKED RECORD support 2007-04-13 15:53:00 +00:00
Adam Sampson
b75d13598a Make subscript parsing type-aware, and add typed expressions for bools and integers 2007-04-13 02:50:47 +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
5ac31f2e0f Indent in (more or less) the KRoC style 2007-04-12 17:35:41 +00:00
Adam Sampson
dec538e951 TLP support, KRoC wrapper to link against, and Process *me support -- commstime works :) 2007-04-12 17:21:12 +00:00
Adam Sampson
00cec5cd5c Pull up array expressions 2007-04-12 16:55:26 +00:00
Adam Sampson
f28959c730 Make the pulled def stuff more general 2007-04-12 16:04:21 +00:00
Adam Sampson
cfd740c2a7 Standard structure for passes 2007-04-12 15:21:33 +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
81d59f40de Make commstime work by copying in appropriate bits of libcourse 2007-04-12 02:39:15 +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
5cf4683cb0 Add header file 2007-04-11 12:55:48 +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
8d3f8153eb Nicer nonce naming; generate PAR 2007-04-10 20:13:09 +00:00
Adam Sampson
8a1094e76a Nesting removal 2007-04-10 19:38:44 +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
222ba593c7 More early commit changes 2007-04-05 18:21:57 +00:00