Commit graph

420 commits

Author SHA1 Message Date
Cédric Pasteur
f57d7f1589 Correct translation for Eupdate and Eupdate_field
As the language is SSA, we should assign each 
element only once.
2011-04-14 15:14:41 +02:00
Cédric Pasteur
c23b9256f0 Also forgot to re-enable scalarize 2011-04-14 14:18:24 +02:00
Cédric Pasteur
975418ffff Missing part from last commit 2011-04-14 13:56:24 +02:00
Cédric Pasteur
57bc9f210b Added a generic onfiguration for backends
Each backend gives a function used to 
enable/disable passes, executed before the
beginning of the compilation
2011-04-14 13:53:30 +02:00
Cédric Pasteur
2f346f873c Control optimization as a pass on Obc
There is now a obc_compiler.ml file, as in hept
and minils.
2011-04-14 11:53:39 +02:00
Cédric Pasteur
6f0c9af006 First port of mls2obc
Does not compile yet
2011-04-14 11:17:12 +02:00
Cédric Pasteur
e2e8a93656 Hept2mls ported and very simplified
Does not compile yet
2011-04-14 10:00:06 +02:00
Cédric Pasteur
d2c4f09aa2 Indentation fixes + remove unnecessary code 2011-04-14 10:00:06 +02:00
Léonard Gérard
12bd4e9c45 Types. 2011-04-14 09:23:38 +02:00
Cédric Pasteur
6adb45c3ad Normalize in Heptagon compiles 2011-04-13 16:21:28 +02:00
Cédric Pasteur
611c94bbbd Itfusion moved to heptagon 2011-04-13 15:10:15 +02:00
Cédric Pasteur
cbf92beba2 First try at a normalization in Heptagon
I can't see if it compiles yet
2011-04-13 14:40:06 +02:00
Cédric Pasteur
2c7b609d2e Forme normale Minils 2011-04-12 14:07:05 +02:00
Léonard Gérard
0fc0c3ba5b Java main pretty print 2011-03-23 20:31:26 +01:00
Léonard Gérard
9714cf0be9 Java fix, initialization order 2011-03-23 18:24:25 +01:00
Léonard Gérard
46ed02416b Convolutions and pip working. 2011-03-23 16:53:01 +01:00
Léonard Gérard
0aef6fcb5b pattern_of_idx in right order.
Probably array_elt_of_exp is also wrong.
2011-03-23 16:52:32 +01:00
Cédric Pasteur
2fdf2855d3 Added a new truncated select operator
a[>e<] returns the element in the array at index
e, a[0] if e < 0 and a[n-1] if e >= n
2011-03-22 22:12:59 +01:00
Cédric Pasteur
99eeacbceb Added mapi iterator
The last argument of the iterated function is the
index of the element in the array.
2011-03-22 09:28:41 +01:00
Léonard Gérard
36061f4518 fixed tests to the new iterator syntax.
Changed (( and )) to (< and >) since it's very common to write )) !
2011-03-21 22:24:37 +01:00
Léonard Gérard
b913edcd5e Decade alpha1
On the road to beta is the new Minils AST, for now :

* Heptagon and Obc AST changes,
* Java code generation,
* Recursives Qualnames,
* Various bug fixes,

* 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 22:24:36 +01:00
Léonard Gérard
6b720e6c23 Merge branch 'java'
Conflicts:
	.gitignore
	compiler/global/global_printer.ml
	compiler/main/mls2obc.ml
2011-03-21 22:21:00 +01:00
Léonard Gérard
b8b16a7355 blop 2011-03-21 17:41:00 +01:00
Léonard Gérard
c602eca062 cgen todo. 2011-03-21 17:41:00 +01:00
Léonard Gérard
02730b8a0b refactoring static evaluation. 2011-03-21 17:41:00 +01:00
Léonard Gérard
c96d05b1eb updated todo and refactoring. 2011-03-21 17:40:59 +01:00
Léonard Gérard
ecc79c3a53 bug fix n-dimension arrays. 2011-03-21 17:40:59 +01: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
Cédric Pasteur
35775c4131 C backend ported to recent API changes in Obc 2011-03-09 09:46:00 +01:00
Léonard Gérard
cab8bb706e backport from async. 2011-03-09 00:06:36 +01:00
Léonard Gérard
159bab2a55 async constants. 2011-03-08 13:41:28 +01:00
Léonard Gérard
688e0bce71 Bug fix in Typing. 2011-02-14 16:33:49 +01:00
Léonard Gérard
9631d9b311 Typing bug fix. 2011-02-14 16:28:50 +01:00
Léonard Gérard
86f743318b Fixes and basic Java main. 2011-02-14 15:21:57 +01:00
Léonard Gérard
c677f76009 Fixes 2011-02-07 16:06:52 +01:00
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.
2011-02-07 14:24:17 +01:00
Cédric Pasteur
51fea00808 Added TODOs 2011-02-04 12:45:58 +01:00
Léonard Gérard
09419a77a5 again 2011-01-24 16:09:28 +01:00
Léonard Gérard
df469db394 New Java backend closing 2011-01-24 16:09:28 +01:00
Léonard Gérard
fc08753bd9 tentative 1 de async dans C 2011-01-24 16:09:27 +01:00
Léonard Gérard
ed21462706 Add java to the compiling process. 2011-01-24 16:09:27 +01:00
Léonard Gérard
6c763f1eb8 tentative 1 de faire marcher java. 2011-01-24 16:09:27 +01:00
Léonard Gérard
e9e8ca382a ml files imported from lucy v3 2011-01-24 16:09:27 +01:00
Léonard Gérard
315527231c Async in Heptagon Minils Obc. 2011-01-24 16:09:27 +01:00
Cédric Pasteur
2b18fcab93 Generate C code for static records
This fixes the test t8.ept
2011-01-18 17:52:44 +01:00
Léonard Gérard
36ec30b3ff Removed unused generic Mmethod in obc. 2011-01-12 13:41:14 +01:00
Léonard Gérard
d265d7a89b Minimize created exps with invalid_type. 2011-01-12 13:39:21 +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
f3584601f0 Refactoring and todo.txt update. 2011-01-05 15:47:53 +01:00
Léonard Gérard
14f3c57d6a Parsing a bit corrected... 2010-12-26 21:39:08 +01:00