Commit graph

101 commits

Author SHA1 Message Date
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
Léonard Gérard a72ab6fa08 Removed debug g_env printing. 2010-09-12 23:55:54 +02:00
Léonard Gérard 9cc3176771 Modules fixed... Pay $$$ attention to partial application and mutable fields. 2010-09-10 17:11:34 +02:00