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
Adrien Guatto
5c8e1a47fe
Tomato: stop trying to be smart about tuples
...
Removed Elimtuples module.
2010-11-10 15:46:32 +01:00
Adrien Guatto
6153d1f65f
Tomato: more readable generated identifiers.
...
When generating a new equation name for an equivalence class,
we now only use the names from the original program if possible.
2010-11-10 15:45:41 +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
684f3337f8
Removed unused arguments in mls2obc
2010-11-05 16:27:45 +01:00
Léonard Gérard
3e2fb0b4b1
Rename [lhs] to [pattern] in obc
...
lhs was verrrry bad.
2010-11-05 16:27:44 +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
f2bc010135
Much better error msg when typing merge and when.
2010-11-04 18:09:32 +01:00
Léonard Gérard
7013a01f83
clock fix.
2010-11-04 18:08:40 +01:00
Léonard Gérard
26b30b9bac
Small code comments.
2010-11-04 18:07:17 +01:00
Léonard Gérard
7b4f34a521
Cgen only stdbool.h booleans no more TRUE and FALSE.
2010-11-04 18:06:11 +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
Léonard Gérard
9414fdc5a8
Initialization with pretty errors.
2010-10-08 14:40:08 +02: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
Léonard Gérard
afcd53cebb
Initialization Small big bug fix.
2010-10-08 10:46:09 +02:00
Léonard Gérard
99cf52a10f
Initialization reworked. Old good tests are now bad ! (they were bad in fact).
2010-10-07 20:19:03 +02:00
Léonard Gérard
c47e371a11
assigned a TODO in obc.
2010-10-07 20:19:02 +02:00
Léonard Gérard
ff2b512600
Tidying typing up.
2010-10-07 20:19:02 +02:00
Adrien Guatto
6ff8ed993f
Switched back to plain strings for some compiler options.
...
To be consistent or to be convenient, that is the question.
2010-10-04 00:35:12 +02:00
Adrien Guatto
381e4e84f7
Csubst: added missing recursive call for array indexes.
2010-10-02 13:22:04 +02:00
Adrien Guatto
7b6690d443
Cgen: proper assignment from structs.
2010-10-02 13:19:21 +02:00
Adrien Guatto
0ce7b4efb0
Cgen: proper assignments from constant variables.
2010-10-02 13:17:12 +02:00
Adrien Guatto
412fd1f81b
New operator: modulo (written (%))!
2010-10-02 13:01:35 +02:00
Adrien Guatto
d57196bb24
Added missing error reporting during scoping pass.
2010-10-01 17:04:27 +02:00
Adrien Guatto
faf232ad64
Fixed silent error (missing @.)
2010-10-01 16:49:11 +02:00
Adrien Guatto
4044d8a0a2
Automata minimization.
2010-09-30 21:52:32 +02:00
Adrien Guatto
a4c3d9e856
Relevant command-line options are now stored as qualnames.
2010-09-30 21:40:04 +02:00
Adrien Guatto
6bdca86253
Comparison functions for types, clocks and minils expressions.
2010-09-30 21:39:53 +02:00
Adrien Guatto
1fd2f374ff
New misc functions, renamed make_list_compare to list_compare.
...
New functions fold_right_i and option_compare.
2010-09-30 19:24:41 +02:00
Adrien Guatto
3d860c3624
Idents: rename compare to ident_compare
2010-09-30 19:13:43 +02:00
Léonard Gérard
6da5171e6a
Flatten arguments fix in cloking.
2010-09-27 18:16:00 +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
77a9dde027
Fixed problem with stdlib
...
The preprocessor has to parse the compiler_options.ml
file now.
2010-09-15 10:27:53 +02:00
Cédric Pasteur
65f1a076d8
Re enable Initialization
...
That was easy to fix...
2010-09-15 09:58:35 +02:00
Cédric Pasteur
db732621a1
Re enabled iterator fusion
...
Added an option to enable it (off by default)
2010-09-15 09:53:20 +02:00
Cédric Pasteur
d913e1be89
Move options doc to the correct file
2010-09-15 09:43:28 +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
Cédric Pasteur
8dad10f39b
Port heptcheck to recent changes
2010-09-14 17:22:52 +02:00
Cédric Pasteur
6e5e7ec814
Fix numbers in error messages
2010-09-14 17:15:43 +02:00
Cédric Pasteur
cae8d39f3d
Renamed exp_ty label to ty for consistency
2010-09-14 17:14:27 +02:00
Cédric Pasteur
5e73f46f7e
Remove some unused code in Typing
2010-09-14 13:29:27 +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
4a5c9130e7
Updated version of Hept_printer
...
The code is much clearer but it should print
mostly the same thing.
2010-09-13 17:04:13 +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
5aa83246ca
Use qualnames for types and fields in C
...
We need qualnames because we try to find types and
fields in the environment during the generation of
the code.
2010-09-13 15:20:25 +02:00
Cédric Pasteur
50223653a4
Do not forget to flush the output
...
The end of some header files was not printed.
2010-09-13 15:20:17 +02:00
Cédric Pasteur
1857cb7c47
Identifiers only need to be unique inside a node
2010-09-13 15:20:09 +02:00