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
2fc0435393
Added simple printf
...
Typing and clocking done
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
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
Leonard Gerard
a8215c8083
compile ! nearly all tests passed.
13 years ago
Leonard Gerard
22354aca0a
a_clock in signatures
13 years ago
Cédric Pasteur
ebf8b354bd
Fixed conflict in parsing with split
13 years ago
Cédric Pasteur
2b2cba8e2d
Added split operator
13 years ago
Cédric Pasteur
6332ac7a10
Added init construct
...
It is part of a pattern, eg:
(init<<r>> x, y, init<<r2>>) = f()
13 years ago
Cédric Pasteur
6c9d9e90d1
Linearity annotations in the AST
13 years ago
Gwenal Delaval
da648254d8
Added type string to pervasives, with string constants in AST
13 years ago
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)
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
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
159bab2a55
async constants.
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
e39a0484ff
Add 'block' to Heptagon.
14 years ago
Léonard Gérard
9a69c30dc5
Clock annotation in Hept AST
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
b57676eee3
Added 'when', 'merge' to the parsing and scoping.
14 years ago
Léonard Gérard
acdd480e0c
Suit up Hept_parsetree.
...
small changes and comments.
14 years ago
Léonard Gérard
8f0f0598de
Small comments.
14 years ago
Léonard Gérard
412425301a
Added Sfield to differentiate from Sconstructor.
14 years ago
Léonard Gérard
a54e570d0f
Hept Scoping should be ok and documented,
...
Hept Parsing too,
all the reset to review carefully,
Typing to cut from all the scoping.
14 years ago
Léonard Gérard
418b961293
Small fixes to the compilation processes.
...
*Locations should be pretty damn good now.
*Mlsc is up to date, still need a scoping pass (to be posted soon)
14 years ago
Cédric Pasteur
221eea1644
Added polymorphic (=) and (<>) operators
...
These two operators really need to be polymorphic,
so they cannot be in Pervasives. a <> b is translated
to not (a = b>) at parsing.
14 years ago
Cédric Pasteur
02dd7fa124
Added alias for types (aka typedef)
...
For instance:
type metres = int
type metres = MyLib.longueur
type matrice = metres^10^100
Code generation in C (with typedef) included. The
code uses the aliases for traceability.
14 years ago
Cédric Pasteur
a081f2dacf
Added foldi iterator
...
Same as fold but the iterated function takes an
integer as the last but one argument.
This is not something that is necessarily
important to have in trunk but the patch is so
small that it doesn't hurt.
14 years ago
Cédric Pasteur
b85f9ab456
Use a block in reset (instead of a list of eqs)
...
- Most transformation passes expect that list of
equations are always nested inside a block.
This fixes a problem with a duplication of
equations in Automata_mapfold.
14 years ago
Léonard Gérard
5e737d0094
location change. Heptc works with menhir.
14 years ago
Cédric Pasteur
b2c88810c5
Make Heptagon API more uniform
...
Use a block instead of variable list + equation list
for contract and node.
The new program transformations based on the
mapfold iterator are now enabled by default.
14 years ago
Cédric Pasteur
fac69ac2fa
Remove controllables from parser
14 years ago
Cédric Pasteur
46a09cf369
Make Efield an op (as in Minils)
...
The fact that this commit mostly removes code proves
that this was a good choice.
14 years ago
Cédric Pasteur
ee767064b1
Instantiation of parametrized nodes (v2)
...
- Many changes to make Hept2mls, mls2obc, etc
compile with the api changes
- Added Callgraph_mapfold: starting from a main
program, generates the list of instances of each
node necessary and creates them.
- Mls2seq deals with giving to the code generators
the correct source (mls or obc, wit or without
static parameters)
It is now possible to use parametrized nodes that
are defined in other files. For that to work, the
first file has to be compiled to an object file:
heptc -c mylib.ept
which creates a mylib.epo file. Compiling the main
file will then generate all the instances of
parametrized nodes from the lib (only the called
nodes will be compiled, but all the nodes in the
main file are compiled).
14 years ago
Cédric Pasteur
3bf2d82d45
Make sure to run check_type on every
...
Types declared by the user must be checked (this
will also replaced names with the correct longname).
14 years ago