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
Gwenal Delaval
9e41fcf71f
Current Boolean pass for Heptagon
2011-05-05 11:54:38 +02:00
Cédric Pasteur
0256b571f7
Added pervasives C header
...
It only defines the between function for now
2011-05-03 13:35:13 +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
Adrien Guatto
396457abd8
Added assert() and exit() to pervasives.epi.
2011-04-27 14:48:01 +02:00
Léonard Gérard
0d0d016cba
Fix unification of Cbase and Cprod []
2011-04-27 14:36:23 +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
Adrien Guatto
b0a0100ad7
Fixed check script: we now see that our C backend isn't bug-free...
2011-04-27 10:52:07 +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
Léonard Gérard
6b86b86e9d
really fix normalize_mem.
...
in the old fix was missing the renaming, and there was wrong equations
order :
f () returns x
[here rename x by mem_x]
mem_x = fby ...
x = mem_x
so the simplest was :
f () returns out_x
var x;
[ nothing to do]
out_x = x
x = fby ...
pay attention to the order of equations since we are after the
scheduling..
probably it should be done before the scheduling anyway ?
2011-04-20 20:47:06 +02:00
Léonard Gérard
5fb518d8ed
Java bugfix
2011-04-20 17:33:50 +02:00
Léonard Gérard
73abbad1f9
small java module fix
2011-04-20 17:24:09 +02:00
Cédric Pasteur
2757e7c1bf
Fixed normalized_mem
...
It inverted the order of equations
2011-04-20 16:23:44 +02:00
Gwenal Delaval
8c4217ab83
Rebase bzr branch on old decade
2011-04-20 14:50:09 +02:00
Gwenaël Delaval
243fe4b4c7
Keyword "inlined" for nodes
...
Added a keyword "inlined": "inlined f(x)" is intended to
inline only this application. (not effective yet)
2011-04-20 12:47:29 +02:00
Gwenaël Delaval
85bbe21d6c
Sigali pass into compiler + added a_id field to applications
...
- Added "z3z" target language, calling sigali code generation
- a_id is application id, so as to identify node applications; added
to Minils AST. a_id is given on hept2mls pass.
This is needed for the controller execution from controller synthesis.
2011-04-20 12:47:28 +02:00
Gwenaël Delaval
da37fd8e58
Sigali code generation
...
Sigali AST and Sigalimain module for sigali code generation
from normalized and Boolean minils program
2011-04-20 12:28:38 +02:00
Gwenaël
ac9715ad90
Correction of Boolean pass
...
Correction of Boolean pass: correct translation of variable declarations,
including full clock translation (in two passes for variable declarations:
one to build the env, one for clock translation).
2011-04-20 12:28:38 +02:00
Gwenal Delaval
70e2ce08a2
Correction of check script
2011-04-20 12:28:38 +02:00
Gwenal Delaval
0f6ddb739b
Correction of Boolean pass
...
Corrections to handle modifications on AST
(fresh/gen_fresh on idents, Tunit type,
e_base_ck = Cbase everywhere)
2011-04-20 12:28:37 +02:00