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
Gwenal Delaval
bb0bc8bfe5
Added local assume/guarantee
...
Added local assume/guarantee in contracts.
No syntax associated to these local asume/guarantee: internal use only.
12 years ago
Léonard Gérard
8a78bc7d7d
Add [external] in the signatures. fix callgraph acordingly.
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
Léonard Gérard
c75236b688
miscs
13 years ago
Léonard Gérard
f0cbbccc2a
unsafe in minils node
13 years ago
Léonard Gérard
b49c37f7bf
Add ways to declare unsafe functions + unsafe fix
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
Adrien Guatto
d0ed09c3e5
Ext-value inlining pass.
13 years ago
Cédric Pasteur
81947eca40
Made linearity field not optional
...
This helped solve a few bugs with linear types,
for instance when using automata.
The intermediate code is not well-typed (wrt to
linear types only), after the encoding of automata.
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
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
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
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.
13 years ago
Brice Gelineau
938e8897b2
n-ary Sarray_power Earray_fill
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
88497a2da3
parsing clocks.
13 years ago
Leonard Gerard
a8215c8083
compile ! nearly all tests passed.
13 years ago
Cédric Pasteur
cf34234ed5
Fixed linear typing of iterators
13 years ago
Cédric Pasteur
6c9d9e90d1
Linearity annotations in the AST
13 years ago
Cédric Pasteur
1059329c0e
Interference compiles
13 years ago
Cédric Pasteur
7787428f34
Compile fixes
13 years ago
Cédric Pasteur
3ee0e5e7b4
First version of interference.ml
13 years ago
Léonard Gérard
9fa8e7e6ff
mk_equation in hept computes the stateful field.
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
Leonard Gerard
8da5ce4648
no order in declarations
13 years ago
Leonard Gerard
c0602c6df6
etuple removed
13 years ago
Léonard Gérard
5d2f7dfa85
jeudi soir. still on mls2obc.
13 years ago
Cédric Pasteur
611c94bbbd
Itfusion moved to heptagon
13 years ago
Cédric Pasteur
cbf92beba2
First try at a normalization in Heptagon
...
I can't see if it compiles yet
13 years ago
Cédric Pasteur
2c7b609d2e
Forme normale Minils
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
b8b16a7355
blop
13 years ago
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])
13 years ago
Léonard Gérard
cab8bb706e
backport from async.
13 years ago
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.
14 years ago
Léonard Gérard
315527231c
Async in Heptagon Minils Obc.
14 years ago
Léonard Gérard
d265d7a89b
Minimize created exps with invalid_type.
14 years ago
Léonard Gérard
2ae809c971
Fresh vars, and ident refactoring.
...
Idents.enter_node should be called when entering a node, it is done automagically by the mapfold unless you call directly Hept_mapfold.node_dec.
14 years ago
Léonard Gérard
82caa5a83d
Adding a base clock in the Hept AST.
14 years ago
Léonard Gérard
9a69c30dc5
Clock annotation in Hept AST
14 years ago
Gwenal Delaval
ed2642f847
Added controllables in every pass
14 years ago
gwenael delaval
4d5cc091d7
Add "with" syntax
...
Add with syntax on AST, parsetrees, parsers and printers
14 years ago
Léonard Gérard
7013a01f83
clock fix.
14 years ago
Cédric Pasteur
cae8d39f3d
Renamed exp_ty label to ty for consistency
14 years ago