34 Commits (58086190eb03163873ce007fdce0441f6af0acb7)

Author SHA1 Message Date
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
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
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
Cédric Pasteur 0728f3dae7 More work on code generation 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
Léonard Gérard d6240e1c67 100 and java scalarized 13 years ago
Cédric Pasteur a2303ec7e1 Other compile fixes
The java backend is disabled temporarily
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 b8b16a7355 blop 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 09419a77a5 again 14 years ago
Léonard Gérard df469db394 New Java backend closing 14 years ago
Léonard Gérard 315527231c Async in Heptagon Minils Obc. 14 years ago
Léonard Gérard 36ec30b3ff Removed unused generic Mmethod in obc. 14 years ago
Léonard Gérard f3584601f0 Refactoring and todo.txt update. 14 years ago
Léonard Gérard e174151d37 Unclutter ident printing. 14 years ago
Léonard Gérard 3e2fb0b4b1 Rename [lhs] to [pattern] in obc
lhs was verrrry bad.
14 years ago
Cédric Pasteur 0b12e6a4ae Enum in Obc should also be qualnames 14 years ago
Cédric Pasteur 36addab3cc Use qualnames in Obc too 14 years ago
Cédric Pasteur cc039ac42d Make heptc compile 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 5c09abeb18 Revet last commit a5f89876c2 and gives the right fix.
Plus remove all the forbidden '\n', replaced with '@.' or '@\n' depending on context.
14 years ago
Adrien Guatto 288b0049e4 Improved Obc pretty-printer, still far from perfect. 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
Léonard Gérard f124bb4fd7 Refactoring Ident -> Idents ( uniform with Names etc ) 14 years ago
Cédric Pasteur c12f1add0c Keep params in Obc
Remember the parameters of the called node in the 
parametrized version of Obc.
14 years ago
Cédric Pasteur 1be9f1c789 Fixed code generation for Elambda
- Added block notion in Obc
- Correct translation to C
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 e2af987967 Compile fix 14 years ago
Cédric Pasteur 226ddd5c28 Updates for Obc 14 years ago
Cédric Pasteur cee9eed24a Moved sequential/ to obc/ 14 years ago