Léonard Gérard
5837f3906f
Multidimensional iterators in java.
2011-06-28 17:50:42 +02:00
Brice Gelineau
c70d34ec06
Preliminary version of multidimensional iterators.
2011-06-28 17:50:42 +02:00
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
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
46ed39b7b3
Remove some warnings.
2011-06-09 14:40:31 +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
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
9a17648516
good clocks in signatures
2011-05-26 15:56:59 +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
Gwenal Delaval
bf4d80c5a3
Correction of Mls_compare for new AST
2011-05-11 14:25:45 +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
9fa8e7e6ff
mk_equation in hept computes the stateful field.
2011-04-29 15:04:47 +02:00
Léonard Gérard
b8ee46d58f
fix normalize_mem
2011-04-27 14:29:21 +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
Cédric Pasteur
2757e7c1bf
Fixed normalized_mem
...
It inverted the order of equations
2011-04-20 16:23:44 +02:00
Léonard Gérard
d6240e1c67
100 and java scalarized
2011-04-19 18:45:56 +02:00
Cédric Pasteur
802178fb28
Added a pass to normalize memories
...
This adds a copy for outputs that are also
memories.
2011-04-19 17:19:40 +02:00
Cédric Pasteur
740114764c
Fixed stupid bug in the order of args
2011-04-19 10:38:48 +02:00
Cédric Pasteur
a2303ec7e1
Other compile fixes
...
The java backend is disabled temporarily
2011-04-19 09:49:00 +02:00
Leonard Gerard
8da5ce4648
no order in declarations
2011-04-18 19:20:35 +02:00
Leonard Gerard
c0602c6df6
etuple removed
2011-04-18 16:09:07 +02:00
Cédric Pasteur
c6aa63b444
Heptc compiles again
...
AFor now expects expressions instead of static exps
2011-04-18 15:38:42 +02:00
Léonard Gérard
5d2f7dfa85
jeudi soir. still on mls2obc.
2011-04-14 20:14:21 +02:00
Cédric Pasteur
2f346f873c
Control optimization as a pass on Obc
...
There is now a obc_compiler.ml file, as in hept
and minils.
2011-04-14 11:53:39 +02:00
Cédric Pasteur
6adb45c3ad
Normalize in Heptagon compiles
2011-04-13 16:21:28 +02:00
Cédric Pasteur
611c94bbbd
Itfusion moved to heptagon
2011-04-13 15:10:15 +02:00
Cédric Pasteur
cbf92beba2
First try at a normalization in Heptagon
...
I can't see if it compiles yet
2011-04-13 14:40:06 +02:00
Cédric Pasteur
2c7b609d2e
Forme normale Minils
2011-04-12 14:07:05 +02:00
Cédric Pasteur
2fdf2855d3
Added a new truncated select operator
...
a[>e<] returns the element in the array at index
e, a[0] if e < 0 and a[n-1] if e >= n
2011-03-22 22:12:59 +01:00
Cédric Pasteur
99eeacbceb
Added mapi iterator
...
The last argument of the iterated function is the
index of the element in the array.
2011-03-22 09:28:41 +01:00
Léonard Gérard
b8b16a7355
blop
2011-03-21 17:41:00 +01:00
Léonard Gérard
02730b8a0b
refactoring static evaluation.
2011-03-21 17:41:00 +01:00
Cédric Pasteur
b1b8e103f2
Added partial application for iterators
...
For instance:
... = map<<n>> (f<<se>>)((t1, t1'))(t2, t3)
is translated to:
for(int i =...)
... = f(t1, t1', t2[i], t3[i])
2011-03-21 17:22:03 +01:00
Cédric Pasteur
35775c4131
C backend ported to recent API changes in Obc
2011-03-09 09:46:00 +01:00
Léonard Gérard
cab8bb706e
backport from async.
2011-03-09 00:06:36 +01:00
Léonard Gérard
159bab2a55
async constants.
2011-03-08 13:41:28 +01:00
Léonard Gérard
8f4411e145
Recursives Qualnames.
...
In order to have a correct handling of inner classes in Java, and to prepare for modules inside modules.
2011-02-07 14:24:17 +01:00
Léonard Gérard
09419a77a5
again
2011-01-24 16:09:28 +01:00
Léonard Gérard
df469db394
New Java backend closing
2011-01-24 16:09:28 +01:00
Léonard Gérard
ed21462706
Add java to the compiling process.
2011-01-24 16:09:27 +01:00
Léonard Gérard
315527231c
Async in Heptagon Minils Obc.
2011-01-24 16:09:27 +01:00