Commit graph

19 commits

Author SHA1 Message Date
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 5c09abeb18 Revet last commit a5f89876c2 and gives the right fix.
Plus remove all the forbidden '\n', replaced with '@.' or '@\n' depending on context.
2010-09-01 14:40:31 +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 9df4f625a2 Fixed location to use formatter instead of out_channel. 2010-08-24 17:29:00 +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
Léonard Gérard 1c2929078d Small tweaks on the hept_mapfold and comments. 2010-07-14 02:37:02 +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.ml (Browse further)