Léonard Gérard
4b3c3ba8b5
Revert "Fixed problem in clocking" e3676d1e3c
...
Fixing the actual bug :
* static_exp should not be created without type
after or during the typing pass.
2010-08-03 22:38:42 +02:00
Léonard Gérard
418b961293
Small fixes to the compilation processes.
...
*Locations should be pretty damn good now.
*Mlsc is up to date, still need a scoping pass (to be posted soon)
2010-08-02 16:31:57 +02:00
Cédric Pasteur
8f4220e08d
Made Eupdate dynamic
...
Modifying an array with
[ a with [i] = v ]
should expected a dynamic (not static) value
for i (nothing happens if i is in the wrong range).
This is the same behaviour as in Scade and it is
useful eg to modify an array in a foldi.
2010-07-28 12:34:07 +02:00
Cédric Pasteur
221eea1644
Added polymorphic (=) and (<>) operators
...
These two operators really need to be polymorphic,
so they cannot be in Pervasives. a <> b is translated
to not (a = b>) at parsing.
2010-07-27 17:16:49 +02:00
Cédric Pasteur
e3676d1e3c
Fixed problem in clocking
...
Tuple of consts should have one clock var per
element. Added a new function const_skeleton to
create this kind of clock.
2010-07-26 15:34:46 +02:00
Léonard Gérard
dc9bec28bf
Clock refactoring.
2010-07-23 22:13:03 +02:00
Léonard Gérard
1719e2eb36
Fix bad clock expectation for static_exps.
2010-07-23 22:05:54 +02:00
Léonard Gérard
f124bb4fd7
Refactoring Ident -> Idents ( uniform with Names etc )
2010-07-23 19:45:19 +02:00
Léonard Gérard
57b1405731
Basic clocking port.
2010-07-15 16:20:46 +02:00
Cédric Pasteur
d594ace895
This case is unused
2010-07-07 17:03:36 +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
Adrien Guatto
f35bf95458
Indentation fixes!
2010-06-29 11:18:50 +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
744f166e12
Add a missing case in Minils Init
...
The encoding of a reset for e1 -> e2 (in heptagon) is:
if true fby false then e1 else e2
which is well initiliazed even in e2 = pre x.
2010-06-24 05:01:10 +02:00
Cédric Pasteur
0a65964ee6
Put back error in Clocking
2010-06-24 04:56:53 +02:00
Léonard Gérard
15529eed90
Small todo fix, (reactivate error printing in clocking since now the printer works).
2010-06-24 03:32:46 +02:00
Léonard Gérard
60a3ad15f8
move to subfolder compiler.
2010-06-21 11:58:57 +02:00