Commit graph

505 commits

Author SHA1 Message Date
Léonard Gérard
83b0182874 Merge branch 'clocked_inputs' into decade
Conflicts:
	compiler/heptagon/analysis/typing.ml
	compiler/heptagon/parsing/hept_scoping.ml
	compiler/heptagon/parsing/hept_static_scoping.ml
	compiler/main/mls2obc.ml
	compiler/obc/c/cmain.ml
2011-06-28 14:46:43 +02:00
Cédric Pasteur
e754493364 Fixed stateful bit for iterated nodes 2011-06-23 10:51:25 +02:00
Léonard Gérard
108981c0eb Static constraints in the source. Equal removed
( = ) in pervasives is a stub, it will be typed in a polymorphic way.
This is necessary to have a simple way to transform exp into a static_exp
even when there is the = operator.
2011-06-09 14:53:40 +02:00
Léonard Gérard
c3382e4284 Small present bugfix. 2011-06-09 14:40:31 +02:00
Léonard Gérard
b60e8ab4bb Better automata variable names. 2011-06-09 14:40:31 +02:00
Léonard Gérard
46ed39b7b3 Remove some warnings. 2011-06-09 14:40:31 +02:00
Adrien Guatto
4794045208 Reworked Obc AST: from right patterns to extvalues.
I introduced a notion of extended values in Obc expressions,
replacing the Epattern constructor. Patterns may now only
occur at their rightful place, on the left of an assignment.

This change allows to index global constant arrays.
2011-05-30 16:25:00 +02:00
Brice Gelineau
938e8897b2 n-ary Sarray_power Earray_fill 2011-05-26 18:43:30 +02:00
Léonard Gérard
fe74030f78 Fix clocking of iterators. 2011-05-26 16:08:59 +02:00
Léonard Gérard
b73e6502a6 resets are now without constraint. 2011-05-26 15:56:59 +02:00
Léonard Gérard
d7d7552be4 Fix printing and parsing of clocks 2011-05-26 15:56:59 +02:00
Léonard Gérard
fd00f099f5 correct reset and level clock 2011-05-26 15:56:59 +02:00
Léonard Gérard
2a2b363bf7 Real asynchronous resets. 2011-05-26 15:56:59 +02:00
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
Adrien Guatto
fdbe6445a7 User-friendly error message for top-level redefinitions. 2011-05-25 13:26:39 +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