32 Commits (da3147151dfaa2a79fb4bf56b836e8798bc19ead)

Author SHA1 Message Date
Léonard Gérard da3147151d Better check signature error message 13 years ago
Léonard Gérard b49c37f7bf Add ways to declare unsafe functions + unsafe fix 13 years ago
Cédric Pasteur 7119ca1050 Made the argument non optional 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 ab3823874c Feature: Java main will give bin args as static params to the main.
consider having a main node like this one:

node main<<i : int; b : bool>> () returns...

Then if to call the generated program, you'll need ot give an int and a bool.
Furthermore, if you give an additional arg, it'll be used as the wanted
iteration number.
Conflicts:

	compiler/obc/java/java_main.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
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
Léonard Gérard de49540a76 clean signature printing. 13 years ago
Léonard Gérard 9a17648516 good clocks in signatures 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 cf34234ed5 Fixed linear typing of iterators 13 years ago
Cédric Pasteur ec18040cf4 Linear typing 13 years ago
Cédric Pasteur 6c9d9e90d1 Linearity annotations in the AST 13 years ago
Léonard Gérard 0fc0c3ba5b Java main pretty print 13 years ago
Léonard Gérard b8b16a7355 blop 13 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
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 ce4f1916da interface_format_version bump ! 10.... 14 years ago
Cédric Pasteur b0a5a7f13e Heptcheck compiles !! 14 years ago
Cédric Pasteur 68ecd0e781 Added consts in the signature of a module 14 years ago
Léonard Gérard 5baa30f7c1 Last refactor ? and hept_mapred shows in ! 14 years ago
Cédric Pasteur 0e224bf368 Port Static to recent api changes 14 years ago
Cédric Pasteur 24cea56666 Add support for any type of constants 14 years ago
Léonard Gérard 3cc1652425 Minils and signature tweaked further. 14 years ago
Adrien Guatto 5a6a3c74ac Fixed refactoring errors. 14 years ago
Cédric Pasteur b4419a6760 Better deal with memory less nodes
There are now 3 kinds of nodes: Eprim : primitive 
nodes, Enode: nodes with memory, Efun: nodes 
without memory.

Typing now sets correct eq_statefull and b_statefull
for equations and blocks. Resets are only added 
when a node with memory is called.

The calling convention is the generated code needs
to be modified so that we can remove the context 
for nodes without memory.
14 years ago
Adrien Guatto f35bf95458 Indentation fixes! 14 years ago
Léonard Gérard 0f2d046d59 Gros blop pour que Mlsc compile.
-* Séparation du fichier minils avec création de mls_utils
-* Lexer et Parser qui fonctionnent (pas complets encore)
-* Use of menhir with --explain pour debug du parser
-* Quelques refactoring (ident/name...)
14 years ago
Adrien Guatto b4ddefa65c Tabs, trailing ws and long lines shall receive no mercy! 14 years ago
Léonard Gérard 60a3ad15f8 move to subfolder compiler. 14 years ago