Commit Graph

91 Commits

Author SHA1 Message Date
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
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
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
2383345f88 Make all the Types functions monadic; make Errors useful 2007-04-24 21:49:03 +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
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
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