Commit Graph

118 Commits

Author SHA1 Message Date
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
Adam Sampson
fc1eee669c Commit earlier on ? CASE 2007-04-05 18:02:40 +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
9fd0ea58a1 Do port output too 2007-04-05 01:21:16 +00:00
Adam Sampson
7c9036ac9b Track the types of all defined names properly 2007-04-05 01:14:14 +00:00
Adam Sampson
95af38e652 Handle whitespace better 2007-03-18 02:34:31 +00:00
Adam Sampson
4427333d2f Fix (and clean up) indentation parsing 2007-03-18 01:56:10 +00:00
Adam Sampson
4be72cbb24 Move indentation parsing out to its own module 2007-03-18 01:51:41 +00:00
Adam Sampson
5e8076cab5 Fix string parsing 2007-03-18 01:46:47 +00:00
Adam Sampson
69c1c04e84 Add function for testing parser productions 2007-03-18 01:46:31 +00:00