Commit Graph

60 Commits

Author SHA1 Message Date
Neil Brown
cb6fb40440 Added some more testcases involving deduction from (sequential) replicator bounds 2008-06-06 10:39:12 +00:00
Neil Brown
b9b025a429 Added some tests for the new usage checking and reachability mechanisms 2008-06-05 23:11:00 +00:00
Adam Sampson
f2352019ab Implement INITIAL and RESULT abbreviations.
This adds the passes to transform INITIAL into the correct form.

Fixes #42.
2008-06-03 14:57:24 +00:00
Adam Sampson
6ee21f76c9 Initial work on supporting INITIAL and RESULT abbreviations.
This fixes the AST, parser and typechecker, and adds a pass to
transform Result back into Abbrev, but doesn't transform Initial yet.
(It actually works for trivial stuff anyway, but it won't do the right
thing for complex types or PROC parameters.)

It appears (to me) to make sense to support INITIAL/RESULT reshaping
and retyping too, so this does.

Refs #42.
2008-06-02 20:41:37 +00:00
Neil Brown
46ef8e7e65 Annotated the move Rain testcase with the expected results 2008-05-30 18:28:19 +00:00
Neil Brown
a7944ddf9f Changed the move testcase to use the correct Rain TLP interface 2008-05-30 17:32:06 +00:00
Neil Brown
a5fca4816b Added the beginnings of support for implicit mobility for Rain (just printing out the decisions for now) 2008-05-30 17:16:10 +00:00
Adam Sampson
8b3eba594d Add SubscriptCheck field to SubscriptFromFor etc.
This makes it possible to mark a slice as not needing runtime
checking, which is immediately useful for _sizes arrays.

This fixes cgtest03, which was previously failing to compile because
the _sizes array for one of the constants in it contained a runtime
check and thus wasn't itself constant. I've added a testcase file for
the relevant bit of code.
2008-05-26 17:36:26 +00:00
Neil Brown
926659cf70 Fixed the Rain lists testcase to adhere to the new type unification scheme 2008-05-20 21:56:25 +00:00
Neil Brown
f9d55d2c65 Expanded the Rain lists testcase 2008-03-25 18:45:19 +00:00
Neil Brown
ecb4758b64 Corrected a slight bug in the type tests 2008-05-18 09:34:04 +00:00
Neil Brown
abbca5f235 Added tests for channel communications (and type unification) 2008-05-17 19:43:44 +00:00
Neil Brown
0aeebfeeb8 Added more tests for the Rain type system, this time assignment 2008-05-17 14:19:50 +00:00
Neil Brown
3249381995 Added a Rain test file for the type checker 2008-05-17 13:17:12 +00:00
Adam Sampson
04da66531f Fix nesting.occ so it has a valid TLP signature. 2008-05-15 12:23:44 +00:00
Adam Sampson
c627214727 Resolve the v[s] ambiguity outside the parser.
This removes the last use of typeOf* from the parser.
2008-04-07 21:36:21 +00:00
Adam Sampson
feefcfd017 Resolve the c ! x ambiguity outside the parser.
Unfortunately there appears to be exactly one place you can do this, and it
turns out to be inside inferTypes (because you need to know the type of c
completely, and you can't type-infer x until you know if it's a tag or a
variable). It's definitely nicer than doing it in the parser, though.

I've also started adding "-- AMBIGUITY" comments in the parser.
2008-04-06 17:47:41 +00:00
Adam Sampson
e6980ba382 Update all specifications when constant folding.
It used to only update IsExprs, but that meant that all the constants inside
types in other things didn't get folded properly, which caused problems.
2008-04-06 02:01:47 +00:00
Adam Sampson
2655b9b049 Fix a broken occam test (spotted by the new type checker). 2008-03-26 14:45:51 +00:00
Neil Brown
0eadbd0b11 Added support for occam's flush (sending 255) and moved some of the unreachable flush commands in the C++ support headers 2008-03-25 11:37:02 +00:00
Neil Brown
2107960442 Added a couple of testcase programs for reading from the keyboard and echoing 2008-03-24 23:46:43 +00:00
Neil Brown
38aca16514 Fixed the commstime.rain testcase so that it now just about works (except for one disallowed cast) 2008-03-23 13:29:47 +00:00
Neil Brown
81c342156d Fixed Rain commstime some more 2008-03-22 18:33:43 +00:00
Neil Brown
b1f962d7c2 Added a couple of missing semi-colons to a Rain testcase 2008-03-22 17:50:12 +00:00
Neil Brown
f680799363 Added more Rain testcases to the repository 2008-03-22 16:11:12 +00:00
Neil Brown
2189a6c28a Added support for list literals to the Rain parser 2008-03-21 20:03:47 +00:00
Neil Brown
3fede166f6 Added another Rain testcase 2008-03-21 16:35:21 +00:00
Neil Brown
022447b04c Added a couple of Rain testcases 2008-03-20 16:54:03 +00:00
Adam Sampson
79eefd5e98 Move constant checking from the occam parser into a pass.
The parser now doesn't do any constant folding or checking.
2008-03-19 12:47:29 +00:00
Adam Sampson
06ff5ccda6 Implement short-form PLACE, and fix PLACE IN WORKSPACE/VECSPACE. 2008-03-17 18:47:54 +00:00
Adam Sampson
17a1c0eef6 Clean up INITIAL a bit and add a test case.
There's no need for INITIALs to be early-constant-folded, since -- unlike VALs
-- they can't be used in later constant folding.
2008-03-17 18:43:07 +00:00
Adam Sampson
1fb6adb005 Fix array constructors in occam.
This works at least for simple examples, although it's probably a bit
restrictive on the array indexes you're allowed; it should attempt to
constant-fold them.
2008-03-17 18:34:23 +00:00
Adam Sampson
54668d3ba2 Implement the RESCHEDULE intrinsic. 2008-03-15 11:00:11 +00:00
Adam Sampson
d7333e4479 Implement FLUSH in the output handlers. 2008-03-12 14:48:27 +00:00
Adam Sampson
ac532be667 Implement stdin input handler.
This uses a slight hack to figure out when a killable BSC has actually been
killed (which I think should probably be a CCSP feature anyway).
2008-03-12 12:01:40 +00:00
Neil Brown
c23c575f73 Added some more testcases for array usage checking that involve complicated expressions 2008-02-11 14:40:28 +00:00
Neil Brown
71915494a6 Added a test for multiplied variables 2008-02-08 23:49:20 +00:00
Neil Brown
5bc57689f8 Tweaked some tests so that they are now correct 2008-02-08 14:03:45 +00:00
Neil Brown
9c0dcb6008 Added a few more parallel usage tests 2008-02-02 18:59:20 +00:00
Neil Brown
1c480ce8d9 Added a couple more usage check tests 2008-02-01 14:50:25 +00:00
Neil Brown
00a9dfc89b Added more usage checks for proc and function calls 2008-01-29 11:59:08 +00:00
Neil Brown
f26b3309a3 Added a new file of testcases for testing passed parameters 2008-01-29 11:39:04 +00:00
Neil Brown
5a69459668 Added a few more parallel assignment tests 2008-01-27 16:50:30 +00:00
Neil Brown
10493717aa Added tests with multi-dimensional arrays 2008-01-25 16:16:16 +00:00
Neil Brown
dc9e01933b Added a couple of tests to ensure replication is compared properly with sibling plain PARs 2008-01-25 12:30:48 +00:00
Neil Brown
330405f983 Added more usage-checking tests 2008-01-25 11:50:57 +00:00
Neil Brown
0d6e06607b Added a couple more tests 2008-01-25 11:19:58 +00:00
Neil Brown
08b922ae46 Added another usage checker test 2008-01-25 11:02:22 +00:00
Neil Brown
30bc63ffe8 Added another test case to test that read-indexes are not compared to each other 2008-01-22 22:15:48 +00:00
Neil Brown
af130291fc Added some tests for replicated indexes in parallel 2008-01-16 12:14:09 +00:00