Remove some things I've already done
This commit is contained in:
parent
ca5c56f813
commit
e7f63b0ac7
13
fco2/TODO
13
fco2/TODO
|
@ -5,9 +5,6 @@ Have a "compiler options" field in ParseState, which can contain things like:
|
||||||
- optional tracing in passes
|
- optional tracing in passes
|
||||||
- whether to compile out overflow/bounds checks
|
- whether to compile out overflow/bounds checks
|
||||||
|
|
||||||
Need to spot when a constant expression is being compiled, and generate + as
|
|
||||||
unchecked +.
|
|
||||||
|
|
||||||
Parallel assignment should be handled by a simplification pass, not by GenerateC.
|
Parallel assignment should be handled by a simplification pass, not by GenerateC.
|
||||||
(Then things get proper names and we can write a genAssignment function that
|
(Then things get proper names and we can write a genAssignment function that
|
||||||
handles different types.)
|
handles different types.)
|
||||||
|
@ -19,16 +16,12 @@ calls have been removed, and so on.
|
||||||
Multidimensional array literals won't work.
|
Multidimensional array literals won't work.
|
||||||
|
|
||||||
We do need to have a constant folding pass -- irritatingly -- because C won't do it.
|
We do need to have a constant folding pass -- irritatingly -- because C won't do it.
|
||||||
|
Should be a new module, and have an eval function that returns Maybe
|
||||||
ALT needs to detect when it's being used over timers, and calculate when the
|
A.Expression (or similar).
|
||||||
next timeout fires.
|
|
||||||
|
|
||||||
Array indexing needs to be checked against the bounds (which'll do away with a
|
Array indexing needs to be checked against the bounds (which'll do away with a
|
||||||
lot of the "_sizes unused" warnings).
|
lot of the "_sizes unused" warnings).
|
||||||
|
|
||||||
We could use Structured for Par and Seq (and ValOf, etc.). This would make it
|
|
||||||
easier to put {} around sets of declarations. (Or:)
|
|
||||||
|
|
||||||
We could have genSpec generate {} around specs if it's not immediately inside
|
We could have genSpec generate {} around specs if it's not immediately inside
|
||||||
another spec (which'd require some extra boolean arguments to find out).
|
another spec (which'd require some extra boolean arguments to find out).
|
||||||
|
|
||||||
|
@ -84,3 +77,5 @@ Types should provide versions of the functions that work in a state monad.
|
||||||
If we can make them work in the parser monad (by providing an instance of
|
If we can make them work in the parser monad (by providing an instance of
|
||||||
MonadState for it?), that'd be even better.
|
MonadState for it?), that'd be even better.
|
||||||
|
|
||||||
|
If we have constant folding, we're three-quarters of the way towards having an
|
||||||
|
occam *interpreter*.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user