Cédric Pasteur
ebf8b354bd
Fixed conflict in parsing with split
2011-05-25 09:12:15 +02:00
Cédric Pasteur
2b2cba8e2d
Added split operator
2011-05-25 09:12:14 +02:00
Cédric Pasteur
6332ac7a10
Added init construct
...
It is part of a pattern, eg:
(init<<r>> x, y, init<<r2>>) = f()
2011-05-25 09:12:13 +02:00
Cédric Pasteur
6c9d9e90d1
Linearity annotations in the AST
2011-05-25 09:12:13 +02:00
Léonard Gérard
d7553b9db0
Fix static_scoping with locally defined types.
2011-05-24 18:33:05 +02:00
Gwenal Delaval
da648254d8
Added type string to pervasives, with string constants in AST
2011-05-10 17:07:17 +02:00
Cédric Pasteur
29d3c75d55
Proper fix for the problem of scoping of Svar
2011-04-29 15:21:12 +02:00
Cédric Pasteur
59c8106e46
Also use idents for Ewhen in Heptagon
2011-04-29 15:21:12 +02:00
Cédric Pasteur
aae38a7844
Use idents for Emerge in Heptagon
2011-04-29 15:21:12 +02:00
Léonard Gérard
9fa8e7e6ff
mk_equation in hept computes the stateful field.
2011-04-29 15:04:47 +02:00
Adrien Guatto
10418197c8
Initial support for return-less external functions.
...
The compiler still does not support unsafe functions that well. For example, putting an assert()/exit() in an automaton's state does not work correctly.
2011-04-28 15:24:35 +02:00
Léonard Gérard
ba1ff2c06d
Fix qualify Svar
2011-04-27 16:37:45 +02:00
Léonard Gérard
d6240e1c67
100 and java scalarized
2011-04-19 18:45:56 +02:00
Leonard Gerard
3618ccc8ed
parser fix
2011-04-19 10:14:19 +02:00
Leonard Gerard
8da5ce4648
no order in declarations
2011-04-18 19:20:35 +02:00
Léonard Gérard
5d2f7dfa85
jeudi soir. still on mls2obc.
2011-04-14 20:14:21 +02: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
b8b16a7355
blop
2011-03-21 17:41:00 +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
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
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
Léonard Gérard
315527231c
Async in Heptagon Minils Obc.
2011-01-24 16:09:27 +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
14f3c57d6a
Parsing a bit corrected...
2010-12-26 21:39:08 +01:00
Léonard Gérard
bb9d96e79d
Parse real blocks in resets.
2010-12-16 18:28:33 +01:00
Léonard Gérard
ac6dab15ee
Switch removing.
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
Cédric Pasteur
ee566aba50
Hept_parsetree_mapfold should also visit type_dec
...
This fixes a problem with test/good/type_alias.ept
and t8.ept.
2010-12-10 10:18:05 +01:00
Léonard Gérard
e39a0484ff
Add 'block' to Heptagon.
2010-12-10 00:42:49 +01:00
Léonard Gérard
82caa5a83d
Adding a base clock in the Hept AST.
2010-12-10 00:39:25 +01:00
Léonard Gérard
9a69c30dc5
Clock annotation in Hept AST
2010-12-10 00:39:25 +01:00
Gwenal Delaval
ed2642f847
Added controllables in every pass
2010-12-08 17:32:24 +01:00
gwenael delaval
4d5cc091d7
Add "with" syntax
...
Add with syntax on AST, parsetrees, parsers and printers
2010-12-06 18:24:04 +01:00
Cédric Pasteur
0bb84532b9
Added a new static scoping pass
...
This pass transforms exps that should be static
to Econst se. The regular scoping then only has
to check this case.
The conversion is done in a single traversal of
the AST (unlike the old solution).
2010-11-20 17:39:24 +01:00
Cédric Pasteur
b5fb821a4c
Fix hept_parsetree_mpafold
...
It had never been used so it wasn't correct.
Added some missing cases.
2010-11-20 17:31:55 +01:00
Léonard Gérard
a273170a31
Allow "type t = A" instead of forcing "A | ..."
2010-11-04 18:10:20 +01:00
Léonard Gérard
b57676eee3
Added 'when', 'merge' to the parsing and scoping.
2010-11-02 11:32:40 +01:00
Léonard Gérard
a22f7216f2
Added when and merge to heptagon. Need tests !
...
Clocking is still done in minils since it is way simpler.
2010-11-01 01:05:37 +01:00
Adrien Guatto
d57196bb24
Added missing error reporting during scoping pass.
2010-10-01 17:04:27 +02:00
Léonard Gérard
acdd480e0c
Suit up Hept_parsetree.
...
small changes and comments.
2010-09-20 23:31:49 +02:00
Léonard Gérard
8f0f0598de
Small comments.
2010-09-18 22:30:43 +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
Léonard Gérard
02db2ad6b4
Changed compile flags, and cleaned a bit.
...
Warn as error for partial match.
Warn for unused variables : added some TODO to check.
PS : I'll deal with callgraph which is doing things that Modules does.
2010-09-14 09:39:02 +02:00
Cédric Pasteur
1857cb7c47
Identifiers only need to be unique inside a node
2010-09-13 15:20:09 +02:00
Léonard Gérard
3a0429f93f
Merge branch 'qualified_ast'
...
Conflicts:
compiler/obc/c/cgen.ml
2010-09-13 12:50:10 +02:00
Léonard Gérard
412425301a
Added Sfield to differentiate from Sconstructor.
2010-09-13 12:05:10 +02:00
Léonard Gérard
d00ad67abb
unbound types and vars fixed.
2010-09-13 11:39:23 +02:00