Cédric Pasteur
27d5790a20
Do not forget iterators at instantiation time either
2010-07-16 12:33:08 +02:00
Cédric Pasteur
7f4a0954bf
Also instantiate nodes called in iterators
2010-07-16 12:26:53 +02:00
Adrien Guatto
312f8085ce
Test runner: fixed missing C99 option
2010-07-16 12:13:40 +02:00
Cédric Pasteur
778dfdb3f9
Do not loop forever during code generation
...
- Detect when the computation of the static exp
using simplif failed and abort.
- Added a better way to compute operators in
Static
2010-07-16 12:04:51 +02:00
Cédric Pasteur
3f7564aaa6
Fix for code generation
...
A node declared with node is statefull (so has a
context struct) even though it is empty. Use
the global_name ref to get the name of the current
module.
2010-07-16 11:28:01 +02:00
Adrien Guatto
b5ba524c3e
Test runner: bug-fixes and updates
2010-07-16 11:19:56 +02:00
Cédric Pasteur
03f21cc612
Last done with Hept_mapfold
2010-07-16 10:28:26 +02:00
Cédric Pasteur
336b6eac00
Simplify a little Mls2obc
...
We don't need to return the memory vars as they
are already computed
2010-07-16 09:58:56 +02:00
Cédric Pasteur
66078effbd
Added support for tuples in normalize
...
- (v1, v2, ... ) fby (e1, e2, ...) is translated to
(v1 fby e1, v2 fby e2, ...)
This has made the code even more complex. This will
need to be refactored at some point.
2010-07-15 17:58:32 +02:00
Cédric Pasteur
f6d55712bc
Revert "Normalize small tweak."
...
This reverts commit eb39fcffec
.
This change is completely wrong (sorry Leonard ...)
2010-07-15 17:04:18 +02:00
Léonard Gérard
eb39fcffec
Normalize small tweak.
2010-07-15 16:21:07 +02:00
Léonard Gérard
57b1405731
Basic clocking port.
2010-07-15 16:20:46 +02:00
Léonard Gérard
c3a3f954f4
Typing fix, if this line is actually useful.
...
(and 80 colons fix..)
2010-07-15 14:21:19 +02:00
Cédric Pasteur
94468cae5d
Fixed iterators
...
We need to store the qualified name of the iterated node
2010-07-15 13:41:13 +02:00
Cédric Pasteur
c8fb0a03dd
Removed test for controllables
2010-07-15 13:23:55 +02:00
Cédric Pasteur
a158977188
Fix examples with changes in lexer
2010-07-15 13:22:42 +02:00
Cédric Pasteur
0c1860ccbd
Fixed problem with tuple consts in Mls2obc
2010-07-15 13:12:11 +02:00
Cédric Pasteur
f8ecf3d76c
Fixed Vars read function
...
When is_left is true, the variables to the right
of the fby should be ignored.
2010-07-15 11:57:47 +02:00
Cédric Pasteur
f2559b5e87
Small refactoring
2010-07-15 11:37:30 +02:00
Cédric Pasteur
f6ffea710d
Comments for callgraph_mapfold
2010-07-15 11:31:48 +02:00
Cédric Pasteur
93fef027f0
Keep the list of static parameters in Obc
2010-07-15 11:31:32 +02:00
Cédric Pasteur
aad8545055
Set the correct location for obj_dec
2010-07-15 10:06:16 +02:00
Cédric Pasteur
4f9d6b2d82
Added v_loc in Minils too
2010-07-15 10:02:42 +02:00
Cédric Pasteur
46a09cf369
Make Efield an op (as in Minils)
...
The fact that this commit mostly removes code proves
that this was a good choice.
2010-07-15 09:56:21 +02:00
Cédric Pasteur
62e216314d
Fixed stupid bug
2010-07-15 09:37:20 +02:00
Cédric Pasteur
1c55689b18
Fixed name
2010-07-15 09:27:59 +02:00
Cédric Pasteur
a188952ef6
Ported Normalize (not tested yet)
2010-07-15 09:27:51 +02:00
Léonard Gérard
c657ce8ecb
Schedule with the iterator and eqs/var_decs added in mapfold.
2010-07-14 03:45:38 +02:00
Léonard Gérard
57751992c0
Rebase done : Mls re-ported. Mls_mapfold and mls_utils updated.
2010-07-14 02:58:08 +02:00
Léonard Gérard
be7bdc7f27
Mls printer ported.
2010-07-14 02:44:46 +02:00
Léonard Gérard
469e5b86cd
A much better and efficient completion_mapfold.
2010-07-14 02:37:03 +02:00
Léonard Gérard
ce4f1916da
interface_format_version bump ! 10....
2010-07-14 02:37:02 +02:00
Léonard Gérard
1c2929078d
Small tweaks on the hept_mapfold and comments.
2010-07-14 02:37:02 +02:00
Cédric Pasteur
5440a073d6
Fixed generation of C code
2010-07-13 16:23:26 +02:00
Cédric Pasteur
73bd2d080e
Correctly set the name of generated nodes
2010-07-13 16:01:42 +02:00
Cédric Pasteur
0d9a35a8b6
Fixed Callgraph_mapfold
2010-07-13 15:37:29 +02:00
Cédric Pasteur
dab569d8ad
Add missing case for ifthenelse
2010-07-13 14:42:46 +02:00
Cédric Pasteur
ee767064b1
Instantiation of parametrized nodes (v2)
...
- Many changes to make Hept2mls, mls2obc, etc
compile with the api changes
- Added Callgraph_mapfold: starting from a main
program, generates the list of instances of each
node necessary and creates them.
- Mls2seq deals with giving to the code generators
the correct source (mls or obc, wit or without
static parameters)
It is now possible to use parametrized nodes that
are defined in other files. For that to work, the
first file has to be compiled to an object file:
heptc -c mylib.ept
which creates a mylib.epo file. Compiling the main
file will then generate all the instances of
parametrized nodes from the lib (only the called
nodes will be compiled, but all the nodes in the
main file are compiled).
2010-07-13 14:03:39 +02:00
Cédric Pasteur
b8f69492b9
Add mapfold for other types in Signature
2010-07-13 13:55:29 +02:00
Cédric Pasteur
4598b29ad2
Forgot to move this file too
2010-07-13 08:47:02 +02:00
Cédric Pasteur
e2af987967
Compile fix
2010-07-13 08:38:51 +02:00
Cédric Pasteur
30a78632d2
Fix the order of args in the signature
2010-07-12 10:45:00 +02:00
Cédric Pasteur
eb85bfd282
Fix for tuple consts in Initialization
...
We also need a skeleton fun for consts as there
can be a const tuple
TODO : do the same in Clocking ??
2010-07-12 10:22:57 +02:00
Cédric Pasteur
89249e8252
Fix for Initialization
...
Make eg 0 -> (pre x + 1) legal. This is a temporary
fix until safe/unsafe functions are correctly handled.
2010-07-12 10:16:16 +02:00
Cédric Pasteur
c5184b5d66
Booleans can be used in a switch
2010-07-12 09:25:36 +02:00
Cédric Pasteur
eb625cd5d7
Fix operator args (some args have become static)
2010-07-12 09:07:57 +02:00
Cédric Pasteur
af0d28fda0
More refactoring of reset
...
Use exp option to store resets instead of introducing
a new type.
2010-07-09 16:05:31 +02:00
Cédric Pasteur
f752f895ce
Reset_mapfold
...
- Also refactored most of the code (why the hell
would anyone use arrays to iterate over lists
with an index ?!?)
2010-07-09 15:28:26 +02:00
Cédric Pasteur
9e7c013fe2
Completion_mapfold
...
- Added it_gather combinator to create simply
a version of an iterating function using a gather
to combine accumulator values
Completion_mapfold and every_mapfold seems to work
2010-07-09 13:27:06 +02:00
Cédric Pasteur
e7bd251b35
Added Global_mapfold and Mls_mapfold
...
- Global_mapfold is used to iterate over types
defined in Types or Signature (the iterators
from Types were moved here)
- Mls_mapfold to iterate over Minils AST (we
do not iterate over clocks yet: is it useful ?)
2010-07-09 11:33:17 +02:00