Commit graph

39 commits

Author SHA1 Message Date
Gwenaël Delaval 19911506de Removal of warnings 2016-01-18 14:30:20 +01:00
Gwenaël Delaval ef00823cf7 Added Marc as co-author 2012-06-29 01:43:15 +02:00
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.
2012-06-27 18:14:29 +02:00
Adrien Guatto 8153bc4eb5 Fixed Tomato: did not reconstruct internal clocks of extvalues 2012-03-30 14:47:47 +02:00
Léonard Gérard be28156de9 Add a simplify pass to Obc 2011-11-18 12:32:37 +01:00
Cédric Pasteur 29a6721121 Fix for dep when using linear types and automata 2011-09-07 17:27:58 +02:00
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
2011-07-21 08:50:45 +02:00
Adrien Guatto d1c2789574 Tomato: properly handle n-ary functions. 2011-07-08 11:56:38 +02:00
Adrien Guatto 3c5bb4e8b7 Tomato working with clocks and when. 2011-07-08 11:56:37 +02:00
Adrien Guatto 891174d73c All-new and fresh tomato!
Not working ATM:
  * tuples
  * when
2011-07-08 11:56:37 +02:00
Brice Gelineau c70d34ec06 Preliminary version of multidimensional iterators. 2011-06-28 17:50:42 +02:00
Léonard Gérard 2a2b363bf7 Real asynchronous resets. 2011-05-26 15:56:59 +02:00
Cédric Pasteur 90648f61ff Fixed linear typing of automata
Each state must be typed in the global environment
and then the accumulator must be joined.
2011-05-25 09:12:15 +02:00
Cédric Pasteur 3f29e8623d Interaction between linear typing and memalloc 2011-05-25 09:12:13 +02:00
Cédric Pasteur 1059329c0e Interference compiles 2011-05-25 09:12:11 +02:00
Léonard Gérard 219c4dbf8d cosmetic 2011-04-29 15:04:47 +02:00
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])
2011-03-21 17:22:03 +01:00
Léonard Gérard 09419a77a5 again 2011-01-24 16:09:28 +01:00
Léonard Gérard 0768babab7 Removed brocken and useless mlsc, cleaned heptc. 2011-01-07 17:30:04 +01:00
Léonard Gérard ac9f805446 Refactoring. 2010-12-15 11:26:29 +01:00
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.
2010-12-15 11:26:29 +01:00
Adrien Guatto 1fd2f374ff New misc functions, renamed make_list_compare to list_compare.
New functions fold_right_i and option_compare.
2010-09-30 19:24:41 +02:00
Cédric Pasteur df12e081ae Refactored Misc
Created two new files: 
 - utilities/global/compiler_options.ml: contains
 the options that can be set using the cli
 - utilities/global/errors.ml: contains global
 errors definition

Misc now only contains helper functions that have 
nothing to do with the ast or the compiler.
2010-09-15 09:38:52 +02:00
Cédric Pasteur d8dffe15d8 Fixed remainings non exhaustive patterns
Now the only shown warnings are the X type that 
we don't care about
2010-09-13 16:02:33 +02:00
Cédric Pasteur 3d02b85bd6 Fixed some non exhaustive pattern matchings
Added assert_n functions to decompose to get a
tuple from a list of known size, and assert_nmin
when the list has at least n elements.
2010-09-13 15:19:40 +02:00
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.
2010-09-09 19:48:20 +02:00
Léonard Gérard 30c786c06e Some more clean up with formatter and so on. 2010-08-29 22:30:51 +02:00
Léonard Gérard c4a926f489 Correct Mapfold !! Or at least much more than before.
Still not sure whether the notion of main_nodes is correct.
A parametrized node not used right in the module gets removed.
Is that the wanted behaviour ?
2010-08-24 11:07:05 +02:00
Adrien Guatto 4edc03c163 Mapfold_right for even nicer code. 2010-07-19 17:19:02 +02:00
Adrien Guatto 3a0b1f9e16 New handy function for pretty-printing: wrap_print. 2010-07-19 15:13:56 +02:00
Adrien Guatto d75f4f8901 Added an option for global inlining (-flatten). 2010-07-19 13:20:11 +02:00
Adrien Guatto 1d6df4ecb2 Inlining pass added. Use with -inline. 2010-07-19 12:02:29 +02:00
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).
2010-07-13 14:03:39 +02:00
Cédric Pasteur f752f895ce Reset_mapfold
- Also refactored most of the code (why the hell
would anyone use arrays to iterate over lists 
with an index ?!?)
2010-07-09 15:28:26 +02:00
Léonard Gérard 000dc91d69 Heptagon and Types mapfold. 2010-07-08 17:41:00 +02:00
Léonard Gérard 5baa30f7c1 Last refactor ? and hept_mapred shows in ! 2010-07-08 15:22:26 +02:00
Adrien Guatto ff07d77667 Assertion generation for C back-end. 2010-06-27 23:28:38 +02:00
Adrien Guatto b4ddefa65c Tabs, trailing ws and long lines shall receive no mercy! 2010-06-26 17:17:28 +02:00
Léonard Gérard 60a3ad15f8 move to subfolder compiler. 2010-06-21 11:58:57 +02:00
Renamed from utilities/misc.mli (Browse further)