Commit Graph

506 Commits

Author SHA1 Message Date
Adam Sampson
ebf702c85c Fix some syntax to make Haddock happy, and add a Makefile rule to update the docs 2007-04-25 17:17:48 +00:00
Adam Sampson
fe9df779fd Remove the .fco suffix from compiled binaries 2007-04-25 17:17:32 +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
dd991a5587 Nicer option parsing, and a -o option to write output to a file 2007-04-25 16:07:12 +00:00
Adam Sampson
e64fa81f83 Fix function arg parsing, and remove a non-useful failed subscript error 2007-04-25 15:52:21 +00:00
Adam Sampson
a04ba6087c Nicer production names 2007-04-25 13:07:53 +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
402371c8aa Literals testcase 2007-04-25 11:53:15 +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
90643cb56b Fix isConstantName 2007-04-24 22:04:29 +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
ccda7402e2 Move path stuff into a Utils module, and show basenames in metadata 2007-04-24 12:52:13 +00:00
Adam Sampson
129ded1cdb Given broken testcases more sensible names (all starting _) 2007-04-24 00:11:51 +00:00
Adam Sampson
a1bf1d351a TLP testcases 2007-04-24 00:10:06 +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
127e2f8aec Just stop 2007-04-23 23:17:22 +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
f701e4bf8a Reorganise TODO 2007-04-21 02:42:15 +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
3aa0d7c724 Add a "course" module that the testcases can use 2007-04-21 00:00:00 +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
e7be8814ad Add timer guards testcase 2007-04-20 17:54:07 +00:00
Adam Sampson
a49b884d48 Better option handling and print passes as they're executed 2007-04-20 16:51:54 +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
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