Adam Sampson
|
a8f0fc2caa
|
Implement record literals
|
2007-05-05 00:26:26 +00:00 |
|
Adam Sampson
|
4551d97b28
|
Make unsubscriptType produce the right types for slices
|
2007-05-03 20:21:19 +00:00 |
|
Adam Sampson
|
ed847a1ea9
|
Do array assignment check at runtime, and produce better metadata
|
2007-05-03 18:07:22 +00:00 |
|
Adam Sampson
|
a17ee03393
|
Rework how array contexts are handled in actuals
|
2007-05-03 17:44:26 +00:00 |
|
Adam Sampson
|
c6e062cde0
|
Resolve user types for subscripts and case selectors
|
2007-05-03 03:53:06 +00:00 |
|
Adam Sampson
|
043e8e1114
|
Recurse into array types
|
2007-05-03 03:38:25 +00:00 |
|
Adam Sampson
|
200619042d
|
Implement user datatypes
|
2007-05-03 02:17:53 +00:00 |
|
Adam Sampson
|
ff3bd7fd71
|
Split UserDataType and Record
|
2007-05-02 23:44:27 +00:00 |
|
Adam Sampson
|
a90fefefb2
|
Use Maps for things that should be maps
|
2007-05-02 20:14:44 +00:00 |
|
Adam Sampson
|
c55137c7f4
|
Better runtime checks for RETYPEs
|
2007-05-02 14:22:56 +00:00 |
|
Adam Sampson
|
4510f523cb
|
Permit BOOL as CASE selector, and make sure selectors are constant
|
2007-05-02 00:40:57 +00:00 |
|
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 |
|