Adam Sampson
|
3d897a70fd
|
Rework (but don't yet fix) formalArgSet
|
2007-05-03 02:43:01 +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
|
13dccaba4d
|
Fix "? CASE tag" parsing in ALTs
|
2007-05-02 13:18:41 +00:00 |
|
Adam Sampson
|
b6881e9ea6
|
Defer RETYPES safety check until runtime
|
2007-05-02 02:32:06 +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
|
164aa15ad3
|
Implement channel retyping
|
2007-05-02 00:07:39 +00:00 |
|
Adam Sampson
|
287fb8b922
|
Ignore ROUND/TRUNC when used on a precise conversion (e.g. REAL64 ROUND real64)
|
2007-05-01 14:31:36 +00:00 |
|
Adam Sampson
|
26a4190d78
|
Allow #INCLUDEd files to contain processes
|
2007-05-01 14:29:36 +00:00 |
|
Adam Sampson
|
5ffe4de9ad
|
Support (but ignore in the code generator for now) PLACE AT/IN
|
2007-04-30 23:24:37 +00:00 |
|
Adam Sampson
|
618ad6d55f
|
Implement INLINE PROC and INLINE FUNCTION
|
2007-04-30 23:08:32 +00:00 |
|
Adam Sampson
|
77949846ca
|
Ignore unrecognised preprocessor directives
|
2007-04-30 22:56:56 +00:00 |
|
Adam Sampson
|
73dc1c7057
|
Make TIMER arguments work
|
2007-04-30 22:30:15 +00:00 |
|
Adam Sampson
|
8460eea254
|
Parse channel array abbreviations after channel IS abbreviations
|
2007-04-30 16:38:01 +00:00 |
|
Adam Sampson
|
72eafaedea
|
Ignore INLINE FUNCTION
|
2007-04-30 04:31:00 +00:00 |
|
Adam Sampson
|
39ec48c1e3
|
Fix known-dimension arrays in specifiers
|
2007-04-30 04:25:13 +00:00 |
|
Adam Sampson
|
db1c16c2cb
|
Do away with operandNotTable -- it's not needed now we have state, and it breaks stuff
|
2007-04-30 02:51:46 +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
|
f7029f6312
|
Add a trivialSubscriptType function to avoid problems with 0-length slices
|
2007-04-29 21:43:22 +00:00 |
|
Adam Sampson
|
057a3a0a67
|
Better string literal handling: do away with StringLiteral in favour of arrays of ByteLiteral
|
2007-04-29 21:31:56 +00:00 |
|
Adam Sampson
|
1932ae534a
|
Intrinsic functions (SQRT and DSQRT)
|
2007-04-29 16:10:29 +00:00 |
|
Adam Sampson
|
2d88249408
|
Intrinsic PROCs (ASSERT for now)
|
2007-04-29 14:46:19 +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
|
47ccd704e4
|
Remove a FIXME
|
2007-04-29 00:11:42 +00:00 |
|
Adam Sampson
|
ca0131f2d1
|
Fix parsing of typed hex literals
|
2007-04-29 00:10:16 +00:00 |
|
Adam Sampson
|
2bcdd7cd66
|
Big AST rework: all spec/rep stuff is now done with Structured
|
2007-04-27 21:49:34 +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
|
5586446dcb
|
Fix parsing of channel array abbreviations
|
2007-04-26 22:49:41 +00:00 |
|
Adam Sampson
|
8554d19d3a
|
Implement (in a very simple way) CHAN OF ANY
|
2007-04-26 22:26:48 +00:00 |
|
Adam Sampson
|
39bbc1e10e
|
Support (but complain about!) empty versions of SEQ, IF, etc.
|
2007-04-26 21:56:05 +00:00 |
|
Adam Sampson
|
f0223ec40a
|
Get multidimensional array literals working (by changing their AST representation)
|
2007-04-26 21:21:35 +00:00 |
|
Adam Sampson
|
80bfdcd0a6
|
Make Dimension take an Int rather than an Expression
|
2007-04-26 20:21:03 +00:00 |
|
Adam Sampson
|
939205670b
|
Rework how constant evaluation is done
|
2007-04-26 16:05:04 +00:00 |
|
Adam Sampson
|
9e69317d7b
|
Better constant folding
|
2007-04-26 14:57:48 +00:00 |
|
Adam Sampson
|
a93439dfc7
|
Implement continuation lines of both kinds
|
2007-04-26 13:20:43 +00:00 |
|
Adam Sampson
|
f5345f3815
|
Handle lines consisting of only spaces, and report errors better
|
2007-04-26 02:46:19 +00:00 |
|
Adam Sampson
|
51c83f4e94
|
Fix abbreviation parsing
|
2007-04-26 02:25:37 +00:00 |
|
Adam Sampson
|
5e7c9403cc
|
Rewrite Indentation in a monadic (and somewhat less cryptic) way
|
2007-04-26 01:56:23 +00:00 |
|
Adam Sampson
|
818281542c
|
Make associative ops actually be associative
|
2007-04-25 19:09:29 +00:00 |
|
Adam Sampson
|
336679f416
|
Make TRUE/FALSE part of operand rather than expression
|
2007-04-25 18:18:38 +00:00 |
|
Adam Sampson
|
52e1edbcdd
|
Accept (but ignore) INLINE
|
2007-04-25 18:11:49 +00:00 |
|
Adam Sampson
|
f8fa60d1ed
|
Implement << and >>
|
2007-04-25 17:48:16 +00:00 |
|
Adam Sampson
|
d265857e34
|
Handle nested includes properly
|
2007-04-25 17:25:49 +00:00 |
|
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
|
94e3bcd7fe
|
Recast the driver and most of the components into the PassM monad
|
2007-04-25 16:42:17 +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 |
|