Commit graph

73 commits

Author SHA1 Message Date
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
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
Cédric Pasteur
f6ffea710d Comments for callgraph_mapfold 2010-07-15 11:31:48 +02:00
Cédric Pasteur
62e216314d Fixed stupid bug 2010-07-15 09:37:20 +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
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
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
Léonard Gérard
d58e83a985 Proposition 1. 2010-07-08 15:04:57 +02:00
Léonard Gérard
65c12884bd SConst -> Sconst 2010-07-06 11:12:14 +02:00
Léonard Gérard
7e29ba4057 ?? nothing 2010-06-30 17:25:00 +02:00
Cédric Pasteur
01d0cd02c3 Remove bounds hack in Eselect_dyn
We no longer need to store the bounds as the 
bounds check expression is generated from MiniLS
code where the type is directly available.
2010-06-30 13:46:46 +02:00
Cédric Pasteur
b4419a6760 Better deal with memory less nodes
There are now 3 kinds of nodes: Eprim : primitive 
nodes, Enode: nodes with memory, Efun: nodes 
without memory.

Typing now sets correct eq_statefull and b_statefull
for equations and blocks. Resets are only added 
when a node with memory is called.

The calling convention is the generated code needs
to be modified so that we can remove the context 
for nodes without memory.
2010-06-30 13:37:54 +02:00
Léonard Gérard
0f2d046d59 Gros blop pour que Mlsc compile.
-* Séparation du fichier minils avec création de mls_utils
-* Lexer et Parser qui fonctionnent (pas complets encore)
-* Use of menhir with --explain pour debug du parser
-* Quelques refactoring (ident/name...)
2010-06-28 18:06:39 +02:00
Adrien Guatto
b4ddefa65c Tabs, trailing ws and long lines shall receive no mercy! 2010-06-26 17:17:28 +02:00
Cédric Pasteur
9b18eb71a4 Operators can appear in the exp normal form 2010-06-25 13:48:46 +02:00
Cédric Pasteur
5c318ace90 Uniformize labels 2010-06-24 04:54:46 +02:00
Léonard Gérard
60a3ad15f8 move to subfolder compiler. 2010-06-21 11:58:57 +02:00