Léonard Gérard
fbfa6eda1a
Add Ewhen to the minils ast, And clocking of iterators.
...
Ewhen is now the only case of possible recursion for minils exps.
This add was motivated by equations like :
(y,z) = f(x) when c
This equation to be correctly normalized in minils before needed :
y',z' = f(x)
y = y' when c
z = z' when c
But this new variables where needless since the final translation of when c
is the identity.
2011-05-26 15:56:59 +02:00
Léonard Gérard
87dc76f113
Code formating fixes (typos, tabs, spaces at endofline,...)
2011-05-26 15:56:59 +02:00
Léonard Gérard
efcb2b01bb
Fix global_printer to follow Format conventions.
2011-05-26 15:56:59 +02:00
Léonard Gérard
b786cbe4ec
Fix partial application syntax : <(x)> instead of (<x>).
2011-05-26 15:56:59 +02:00
Léonard Gérard
de49540a76
clean signature printing.
2011-05-26 15:56:59 +02:00
Léonard Gérard
74cc367a0e
correct base_clock and signature.
2011-05-26 15:56:59 +02:00
Léonard Gérard
4c2a5121e4
remove useless ml folder.
2011-05-26 15:56:59 +02:00
Léonard Gérard
9a17648516
good clocks in signatures
2011-05-26 15:56:59 +02:00
Léonard Gérard
40fcb4d73e
improve syntax
2011-05-26 15:56:58 +02:00
Leonard Gerard
88497a2da3
parsing clocks.
2011-05-26 15:56:58 +02:00
Leonard Gerard
a8215c8083
compile ! nearly all tests passed.
2011-05-26 15:56:58 +02:00
Leonard Gerard
22354aca0a
a_clock in signatures
2011-05-26 15:56:58 +02:00
Léonard Gérard
d7553b9db0
Fix static_scoping with locally defined types.
2011-05-24 18:33:05 +02:00
Cédric Pasteur
96054a67b6
Correct order for indices in array declaration
...
In C, the order in the declaration of variables
is the same as for access
2011-05-24 11:16:27 +02:00
Léonard Gérard
aea82e79b0
col<100
2011-05-21 15:38:09 +02:00
Cédric Pasteur
72892a9d82
Fixed missing case in Obc_mapfold
2011-05-16 17:30:48 +02:00
Adrien Guatto
36d93a411d
Fix generated C code calling between().
2011-05-12 16:32:52 +02:00
Adrien Guatto
a15276f053
Compile with proper include to pervasives.h.
2011-05-12 16:32:52 +02:00
Gwenal Delaval
acad16b98a
Graphical simulator hepts
...
Added graphical simulator hepts
Added option -hepts to the compiler: this option formats the output of the simulation loop
to fit with hepts (currently working only on C target code). Typically, suppresses all
"decoration" output, like input or output names, and prints output on single lines.
Currently not implemented in hepts: array types.
Usage: to simulate the node Modulename.f:
heptc -target c -s f -hepts modulename.ept
gcc modulename_c/*.c -o ./f_sim
hepts -mod Modulename -node f -exec ./f_sim
2011-05-12 10:08:13 +02:00
Gwenal Delaval
bf4d80c5a3
Correction of Mls_compare for new AST
2011-05-11 14:25:45 +02:00
Leonard Gerard
a9aa794b18
Reset optim
2011-05-10 20:52:32 +02:00
Leonard Gerard
75b7ceab5a
Allows easy debugging printing of Envs.
2011-05-10 20:29:01 +02:00
Leonard Gerard
1d390848fe
real good switch fix.
...
The order switch then reset was wrong, since some reset reset slower inner blocks and equations, to have reset correct after switch it would have been necessary to sample the reset condition correctly (use r when c) using the level_ck... anyway the order seems now irrelevant considering code size.
2011-05-10 20:28:39 +02:00
Leonard Gerard
09b5e8e54a
Rerefixfix switch vd_env
2011-05-10 17:22:24 +02:00
Gwenal Delaval
da648254d8
Added type string to pervasives, with string constants in AST
2011-05-10 17:07:17 +02:00
Gwenaël Delaval
a1be8130ce
Inline pass re-activated
2011-05-10 17:07:16 +02:00
Cédric Pasteur
568dfc59fd
Fixed generation of includes in C
...
The module names must be uncapitalized in includes
2011-05-09 09:50:18 +02:00
Cédric Pasteur
2a9c72154c
Fixed renaming of var_dec in Switch
...
Instead of creating new var_decs for renamed variables,
just copy the one from the original var to
avoid losing other information
2011-05-05 17:57:57 +02:00
Cédric Pasteur
c8055cd1ff
Fixed bugs with static records in C generation
2011-05-03 13:21:27 +02:00
Cédric Pasteur
b47dc918ec
Fixed bug with loading modules
...
Do not forget to remember loaded modules
2011-05-02 14:27:42 +02:00
Cédric Pasteur
fd347cb4e4
Fix generation of bounds check expression
2011-05-02 11:24:12 +02:00
Cédric Pasteur
f110727568
Better fix for Normalize_mem
...
We have to modify the var_dec and arg as they may
have other fields that need to be kept
2011-05-02 11:20:37 +02:00
Léonard Gérard
d2eeeee73f
fix reset.
2011-04-29 16:24:08 +02:00
Cédric Pasteur
a533b0b3f4
Proper fix for init of outputs with last
2011-04-29 15:21:12 +02:00
Cédric Pasteur
29d3c75d55
Proper fix for the problem of scoping of Svar
2011-04-29 15:21:12 +02:00
Cédric Pasteur
59c8106e46
Also use idents for Ewhen in Heptagon
2011-04-29 15:21:12 +02:00
Cédric Pasteur
aae38a7844
Use idents for Emerge in Heptagon
2011-04-29 15:21:12 +02:00
Léonard Gérard
670d8962df
add useful files
2011-04-29 15:17:01 +02:00
Léonard Gérard
9fa8e7e6ff
mk_equation in hept computes the stateful field.
2011-04-29 15:04:47 +02:00
Léonard Gérard
219c4dbf8d
cosmetic
2011-04-29 15:04:47 +02:00
Adrien Guatto
10418197c8
Initial support for return-less external functions.
...
The compiler still does not support unsafe functions that well. For example, putting an assert()/exit() in an automaton's state does not work correctly.
2011-04-28 15:24:35 +02:00
Cédric Pasteur
bed729b448
Fixed typing of const def
...
Like values, the typed version should be put in
the environment.
2011-04-28 09:28:07 +02:00
Léonard Gérard
ba1ff2c06d
Fix qualify Svar
2011-04-27 16:37:45 +02:00
Adrien Guatto
aa1041319f
C backend: do not use memory structs for combinatorial main() functions.
2011-04-27 15:29:33 +02:00
Léonard Gérard
f532ccc84c
really fix unification
2011-04-27 15:16:17 +02:00
Léonard Gérard
b8ee46d58f
fix normalize_mem
2011-04-27 14:29:21 +02:00
Adrien Guatto
00cb203dd9
Revert "C generation: fixed struct field name in step() call."
...
This reverts commit fc920d88ea
.
2011-04-27 14:02:50 +02:00
Adrien Guatto
fc920d88ea
C generation: fixed struct field name in step() call.
2011-04-27 11:53:44 +02:00
Cédric Pasteur
014bc19ab2
Fixed bug in init analysis
2011-04-26 12:43:03 +02:00
Cédric Pasteur
401aaeeb89
Type declarations should also be typed
...
This is necessary so that the static expressions
appearing in those types are correctly typed.
2011-04-21 16:29:24 +02:00