Commit graph

356 commits

Author SHA1 Message Date
Cédric Pasteur 515f9489c4 Rename *_mapfold to regular names 2010-07-26 14:15:00 +02:00
Cédric Pasteur a81dd0b2b4 Remove old version of files 2010-07-26 14:12:37 +02:00
Cédric Pasteur db64b6302b More refactoring in Typing 2010-07-26 12:06:02 +02:00
Cédric Pasteur e098909086 Refactored build function
I am 99 % sure that this doesn't break anything.
2010-07-26 11:36:59 +02:00
Cédric Pasteur aee247020b Refactored Typing
Created a new pass named Statefull that checks
statefullness related issues.
This change allows to see easily what is done in
this pass, that was scattered all across Typing
2010-07-26 10:59:19 +02:00
Cédric Pasteur 6dda6ba226 Updated .gitignore 2010-07-26 09:40:31 +02:00
Cédric Pasteur 6c8a83f8c4 Added test for foldi 2010-07-26 09:34:29 +02:00
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.
2010-07-26 09:33:22 +02:00
Léonard Gérard dc9bec28bf Clock refactoring. 2010-07-23 22:13:03 +02:00
Léonard Gérard 1719e2eb36 Fix bad clock expectation for static_exps. 2010-07-23 22:05:54 +02:00
Léonard Gérard f124bb4fd7 Refactoring Ident -> Idents ( uniform with Names etc ) 2010-07-23 19:45:19 +02:00
Adrien Guatto 689a10a328 Cgen: $NODE_mem.h should not include itself. 2010-07-23 12:18:27 +02:00
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.
2010-07-23 10:56:25 +02:00
Cédric Pasteur 89ceb8df76 Fixed duplicate declaration of local vars 2010-07-22 17:38:28 +02:00
Adrien Guatto 3160855158 Added missing syntax highlighting for arrays. 2010-07-22 12:21:37 +02:00
Adrien Guatto 7f91ffab53 Output MiniLS code before clocking when in verbose mode. 2010-07-22 11:12:58 +02:00
Adrien Guatto b1944cf752 Documentation fix for Reset_mapfold 2010-07-22 11:12:58 +02:00
Cédric Pasteur 75774cc685 Refactoring
Directly create a obj_dec instead of storing a tuple.
2010-07-22 10:15:11 +02:00
Cédric Pasteur 0be31badae Added some doc
I'm not sure if this is very clear but it's a start...
2010-07-22 10:01:40 +02:00
Cédric Pasteur c12f1add0c Keep params in Obc
Remember the parameters of the called node in the 
parametrized version of Obc.
2010-07-22 09:44:57 +02:00
Cédric Pasteur 1be9f1c789 Fixed code generation for Elambda
- Added block notion in Obc
- Correct translation to C
2010-07-22 09:36:22 +02:00
Cédric Pasteur 4d52fe79ef Compile fix 2010-07-22 09:22:50 +02:00
Cédric Pasteur bbb8e2e286 Do not forget to normalize iterators 2010-07-21 17:20:19 +02:00
Cédric Pasteur 493f49fe04 Added iterator fusion
For now it only deals with maps but it can be
easily extended. See test/good/itfusion.ept for 
examples of sequences that can be optimised.
2010-07-21 17:19:51 +02:00
Cédric Pasteur dd660f4424 Added anonymous functions in Minils
- Added Elamba(inp, outp, eq_list) constructor. This
is necessary for iterator fusion.
- Refactored Mls2obc to allow to generate code
for anonymous functions (basically we have to
remember if we are within an iterator, as there is
no nesting of iterators)

There is a known problem with the local vars defined in 
the anonymous function that needs to be declared.
2010-07-21 17:15:19 +02:00
Cédric Pasteur b6459cdace Obc_mapfold
Because I needed to iterate over Obc and it was 
almost as easy to write the generic iterator.
2010-07-21 15:54:41 +02:00
Léonard Gérard 8df666b985 Removed temporarily clocking. 2010-07-21 15:40:55 +02:00
Léonard Gérard 5e737d0094 location change. Heptc works with menhir. 2010-07-21 15:15:57 +02:00
Cédric Pasteur 91aa437264 Check arity of static parameters 2010-07-20 11:35:48 +02:00
Cédric Pasteur 03608451c4 Use invalid_type 2010-07-20 09:34:11 +02:00
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.
2010-07-20 09:31:29 +02:00
Cédric Pasteur e57c663f43 Do not forget to add created types 2010-07-20 09:17:19 +02:00
Adrien Guatto 4edc03c163 Mapfold_right for even nicer code. 2010-07-19 17:19:02 +02:00
Adrien Guatto 496919ff63 Yet Another Cosmetic Fix for normalization :-/ 2010-07-19 16:57:47 +02:00
Adrien Guatto 54ada380a1 Cleaner normalization of iterators' arguments 2010-07-19 15:38:12 +02:00
Adrien Guatto 8d07052a0f Inlining: warn when trying to inline iterators. 2010-07-19 15:22:57 +02:00
Adrien Guatto 9301ed0b09 Fixes for correct array literal C generation. 2010-07-19 15:16:14 +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
Adrien Guatto 2ccdf677f0 Reworded Heptagon mapfold introductory message. 2010-07-19 12:02:29 +02:00
Adrien Guatto 2a72628f20 Stricter mk_longname. 2010-07-19 12:02:29 +02:00
Cédric Pasteur fac69ac2fa Remove controllables from parser 2010-07-16 16:08:14 +02:00
Cédric Pasteur aeca344db5 Automata with mapfold
It does not change much the code but at least
we can now see what is important.
2010-07-16 16:01:27 +02:00
Cédric Pasteur 2d10ef84df Present with Hept_mapfold
Seems so simple, I feel like I missed something...
2010-07-16 15:30:51 +02:00
Cédric Pasteur af2ea1f361 Compile fix
Always check that the code compiles before committing.
2010-07-16 15:11:53 +02:00
Cédric Pasteur da9b353e75 Shorter version of is_statefull 2010-07-16 15:10:14 +02:00
Cédric Pasteur bcc994fb9f No need to collect calls without params
There is no need to collect calls without parameters
as we only need the signature of the function and the code
will be generated when compiling the first file.
2010-07-16 14:35:42 +02:00
Cédric Pasteur ab5de4e769 Compatibility with Mac OS X
Default wc command in Mac OS X does not have
a '-L' option
2010-07-16 14:35:33 +02:00
Cédric Pasteur ac4e46eff9 Remove debug info 2010-07-16 14:16:31 +02:00