Gwenaël Delaval
58086190eb
Headers and license file for GPL
...
Headers for every source file (excluding examples), mentioning
authors, copyright and license (GPL)
COPYING file with GPLv3 content.
12 years ago
Adrien Guatto
76ae2f4518
Loop unrolling.
12 years ago
Cédric Pasteur
2f993a602c
Fixed base clock in code generation
...
Put the base clock inside the equation where it
belongs.
13 years ago
Cédric Pasteur
54cde301f6
C code generation for printf
13 years ago
Cédric Pasteur
f76667e042
Second part of the fix
13 years ago
Léonard Gérard
d5f72c278c
mls2obc bug fix
...
y = (if then else) when c
ou bien
y = f() when c
ne compilait pas.
13 years ago
Léonard Gérard
fdab1ac55c
Strict-SSA option to switch array encoding.
13 years ago
Cédric Pasteur
04b8853a1d
Added a new reinit operator
...
It has type:
reinit: t at r * t -> t at r
It can be used to put a constant value in a
location.
13 years ago
Cédric Pasteur
33bc0adff1
Type should be unaliased when expecting an array
13 years ago
Cédric Pasteur
8cc879be7a
Generate code from interface (.epi) files
...
It includes the definition of types, constants
and prototypes defined in the interface.
13 years ago
Gwenaël Delaval
c57b71b6aa
Merge branch 'bzr' into decade
...
- Added Boolean module (enum types to boolean vectors)
- Added Hept_clocking analysis, called before Boolean
- Added z3z target from minils (sigali format)
- Bug corrections in Normalize, Normalize_mem
Conflicts:
compiler/heptagon/analysis/typing.ml
compiler/heptagon/heptagon.ml
compiler/heptagon/parsing/hept_parser.mly
compiler/heptagon/parsing/hept_parsetree.ml
compiler/heptagon/parsing/hept_scoping.ml
compiler/main/hept2mls.ml
compiler/main/heptc.ml
compiler/main/mls2seq.ml
compiler/minils/minils.ml
compiler/minils/transformations/normalize_mem.ml
test/check
13 years ago
Gwenal Delaval
2c4be9d42c
Correct scoping and typing with contracts
13 years ago
Cédric Pasteur
69a5ad8df8
Fixed code generation of n-dim static arrays
...
Also added some tests.
13 years ago
Cédric Pasteur
0a372672e0
Fixed bug with type alias
...
We should always unalias a type if we're expecting
an array type.
13 years ago
Cédric Pasteur
7d95b95ed7
Merge branch 'memalloc' into decade
...
Conflicts:
compiler/global/signature.ml
compiler/heptagon/analysis/typing.ml
compiler/heptagon/hept_printer.ml
compiler/heptagon/hept_utils.ml
compiler/heptagon/heptagon.ml
compiler/heptagon/parsing/hept_parser.mly
compiler/heptagon/parsing/hept_parsetree.ml
compiler/heptagon/parsing/hept_scoping.ml
compiler/heptagon/transformations/switch.ml
compiler/main/hept2mls.ml
compiler/minils/minils.ml
compiler/minils/mls_printer.ml
compiler/obc/c/cgen.ml
compiler/obc/control.ml
compiler/utilities/misc.mli
13 years ago
Léonard Gérard
250ccb8e23
Fix iterators obc pattern types
13 years ago
Adrien Guatto
7d9e31a83b
Tomato checking in check.sh
13 years ago
Léonard Gérard
5837f3906f
Multidimensional iterators in java.
13 years ago
Léonard Gérard
c5fbcbe765
removing white spaces
13 years ago
Brice Gelineau
c70d34ec06
Preliminary version of multidimensional iterators.
13 years ago
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
13 years ago
Léonard Gérard
46ed39b7b3
Remove some warnings.
13 years ago
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.
13 years ago
Brice Gelineau
938e8897b2
n-ary Sarray_power Earray_fill
13 years ago
Léonard Gérard
2a2b363bf7
Real asynchronous resets.
13 years ago
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.
13 years ago
Leonard Gerard
a8215c8083
compile ! nearly all tests passed.
13 years ago
Cédric Pasteur
2b2cba8e2d
Added split operator
13 years ago
Cédric Pasteur
db8c87ff07
Fix generation of bounds check expression
13 years ago
Cédric Pasteur
3f29e8623d
Interaction between linear typing and memalloc
13 years ago
Cédric Pasteur
3f9918b570
Added memory alloc application pass
13 years ago
Cédric Pasteur
fd347cb4e4
Fix generation of bounds check expression
13 years ago
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.
13 years ago
Gwenal Delaval
8c4217ab83
Rebase bzr branch on old decade
13 years ago
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.
13 years ago
Léonard Gérard
d6240e1c67
100 and java scalarized
13 years ago
Cédric Pasteur
073ccc2603
Better handling of static arrays
13 years ago
Cédric Pasteur
a2303ec7e1
Other compile fixes
...
The java backend is disabled temporarily
13 years ago
Leonard Gerard
8da5ce4648
no order in declarations
13 years ago
Leonard Gerard
c0602c6df6
etuple removed
13 years ago
Cédric Pasteur
c6aa63b444
Heptc compiles again
...
AFor now expects expressions instead of static exps
13 years ago
Léonard Gérard
5d2f7dfa85
jeudi soir. still on mls2obc.
13 years ago
Cédric Pasteur
f57d7f1589
Correct translation for Eupdate and Eupdate_field
...
As the language is SSA, we should assign each
element only once.
13 years ago
Cédric Pasteur
975418ffff
Missing part from last commit
13 years ago
Cédric Pasteur
2f346f873c
Control optimization as a pass on Obc
...
There is now a obc_compiler.ml file, as in hept
and minils.
13 years ago
Cédric Pasteur
6f0c9af006
First port of mls2obc
...
Does not compile yet
13 years ago
Léonard Gérard
0aef6fcb5b
pattern_of_idx in right order.
...
Probably array_elt_of_exp is also wrong.
13 years ago
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
13 years ago
Cédric Pasteur
99eeacbceb
Added mapi iterator
...
The last argument of the iterated function is the
index of the element in the array.
13 years ago
Léonard Gérard
b913edcd5e
Decade alpha1
...
On the road to beta is the new Minils AST, for now :
* Heptagon and Obc AST changes,
* Java code generation,
* Recursives Qualnames,
* Various bug fixes,
* 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])
13 years ago