Commit graph

103 commits

Author SHA1 Message Date
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
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
3f29e8623d Interaction between linear typing and memalloc 2011-05-25 09:12:13 +02:00
Cédric Pasteur
cf34234ed5 Fixed linear typing of iterators 2011-05-25 09:12:13 +02:00
Cédric Pasteur
ec18040cf4 Linear typing 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
aea82e79b0 col<100 2011-05-21 15:38:09 +02:00
Leonard Gerard
75b7ceab5a Allows easy debugging printing of Envs. 2011-05-10 20:29:01 +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
b47dc918ec Fixed bug with loading modules
Do not forget to remember loaded modules
2011-05-02 14:27:42 +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
Cédric Pasteur
bed729b448 Fixed typing of const def
Like values, the typed version should be put in
the environment.
2011-04-28 09:28:07 +02:00
Léonard Gérard
f532ccc84c really fix unification 2011-04-27 15:16:17 +02:00
Cédric Pasteur
401aaeeb89 Type declarations should also be typed
This is necessary so that the static expressions
appearing in those types are correctly typed.
2011-04-21 16:29:24 +02:00
Cédric Pasteur
c6aa63b444 Heptc compiles again
AFor now expects expressions instead of static exps
2011-04-18 15:38:42 +02:00
Léonard Gérard
5d2f7dfa85 jeudi soir. still on mls2obc. 2011-04-14 20:14:21 +02:00
Léonard Gérard
12bd4e9c45 Types. 2011-04-14 09:23:38 +02:00
Léonard Gérard
0fc0c3ba5b Java main pretty print 2011-03-23 20:31:26 +01:00
Léonard Gérard
b8b16a7355 blop 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
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
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
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
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
315527231c Async in Heptagon Minils Obc. 2011-01-24 16:09:27 +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
e174151d37 Unclutter ident printing. 2010-12-15 11:27:19 +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
Léonard Gérard
9998d7ea39 Added a unit type. Tunit. 2010-12-10 00:39:25 +01:00
Adrien Guatto
c7b83b7381 Fixed comparison functions which were blatantly wrong.
Previous versions weren't antisymmetric.
2010-11-10 15:45:41 +01:00
Léonard Gérard
26b30b9bac Small code comments. 2010-11-04 18:07:17 +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
Léonard Gérard
ea4ef2583b Fix print location.
It was not respecting boxes by using a \n instead of a @\n.
2010-10-08 14:34:31 +02:00
Adrien Guatto
6bdca86253 Comparison functions for types, clocks and minils expressions. 2010-09-30 21:39:53 +02:00
Adrien Guatto
3d860c3624 Idents: rename compare to ident_compare 2010-09-30 19:13: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
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
1857cb7c47 Identifiers only need to be unique inside a node 2010-09-13 15:20:09 +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
e0e7bba733 Removed wrong sanity check in modules. 2010-09-13 11:06:42 +02:00
Cédric Pasteur
a3e1d8a5f9 Make sure that idents have unique names
Make sure that Idents.name returns two different 
strings for two different idents. This fixes a 
problem with variables in two automaton states 
with the same name (as shown by test/good/name_clash.ept).
2010-09-13 10:18:52 +02:00
Léonard Gérard
b5f6593e18 Useful debug printing function. 2010-09-13 01:17:31 +02:00
Léonard Gérard
d20a77e181 Removed one nasty bug in modules.ml 2010-09-13 01:14:03 +02:00
Léonard Gérard
937d1f580b Add Warning when encountering not typed expression when cloking. 2010-09-12 23:58:21 +02:00