Commit graph

438 commits

Author SHA1 Message Date
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
Cédric Pasteur
0b5d1cd471 Do not print Pervasives 2010-09-13 15:20:01 +02:00
Cédric Pasteur
0b12e6a4ae Enum in Obc should also be qualnames 2010-09-13 15:19:52 +02:00
Cédric Pasteur
3d02b85bd6 Fixed some non exhaustive pattern matchings
Added assert_n functions to decompose to get a
tuple from a list of known size, and assert_nmin
when the list has at least n elements.
2010-09-13 15:19:40 +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
Cédric Pasteur
ecd3f0fbd8 Support tuple args in normalization 2010-09-13 11:37:50 +02:00
Cédric Pasteur
cba5f4893e Move cases for arrays operators
Only functions that modify si or j needs to be
in translate_equation. The others should be in 
translate_act.
2010-09-13 11:23:52 +02:00
Cédric Pasteur
134c7a2498 Fix normalization of ^n operator 2010-09-13 11:23:52 +02:00
Cédric Pasteur
0e6eb98bf7 Do not add consts to env again 2010-09-13 11:23:52 +02:00
Léonard Gérard
e0e7bba733 Removed wrong sanity check in modules. 2010-09-13 11:06:42 +02:00
Cédric Pasteur
4cc18831b4 Remove useless code 2010-09-13 11:04:17 +02:00
Cédric Pasteur
9743bced77 added another example 2010-09-13 10:44:35 +02:00
Cédric Pasteur
cb521c9b68 Fix the (commented) code that prints an exp 2010-09-13 10:20:24 +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
Cédric Pasteur
ffdd378cec Make sure the error is printed last 2010-09-13 10:10:40 +02:00
Cédric Pasteur
653de74a9d Print qualnames with prefix in C code
A qualname is printed as Qual__name
2010-09-13 09:37:58 +02:00
Cédric Pasteur
5da49aa30d Re enable typing 2010-09-13 09:36:45 +02:00
Cédric Pasteur
b6561c4a9f Fixed bug in Callgraph
Only add new nodes to the environment.
2010-09-13 09:12:10 +02:00
Cédric Pasteur
36addab3cc Use qualnames in Obc too 2010-09-13 09:03:15 +02:00
Léonard Gérard
fd4d0942f4 Support tuples as args in Typing
Ported CP : 18e17a6fba37f9207937c9b60f0ad851c6e5b719
2010-09-13 01:21:35 +02:00
Léonard Gérard
a58c729ae2 clocking tweak. 2010-09-13 01:18:45 +02:00
Léonard Gérard
cb86418cb3 Small callgraph todo. 2010-09-13 01:18:07 +02:00
Léonard Gérard
b5f6593e18 Useful debug printing function. 2010-09-13 01:17:31 +02:00
Léonard Gérard
aa3923cb56 Small 'check' cosmetic.
debugger_script updated.
2010-09-13 01:16:37 +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
Cédric Pasteur
0fa3d1efb1 Fixed problem in Typing 2010-09-10 17:24:02 +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
Léonard Gérard
9ccb6db03f Fix, see bugs. ( we probably want a pass to try to convert every exp to static_exp *) 2010-09-10 17:10:53 +02:00
Léonard Gérard
8a396074fa Allow compilation without mls_parsing etc. 2010-09-10 17:10:06 +02:00
Léonard Gérard
44e7a84c00 Automata fixed. 2010-09-10 17:09:50 +02:00
Cédric Pasteur
cc039ac42d Make heptc compile 2010-09-10 14:29:13 +02:00
Léonard Gérard
1e5697b29a Removed Interface since it's job is now done during the scoping.
Moved printing stuff to Global_printer.
2010-09-10 14:06:33 +02:00
Cédric Pasteur
f6fb5861ce Make Typing compile 2010-09-10 13:59:38 +02:00
Cédric Pasteur
1d1f398e8a First try at updating Typing 2010-09-10 13:42:45 +02:00
Cédric Pasteur
e4e429d3fc Add the signature of a node during scoping
It was done for signature but not for node def
2010-09-10 13:41:23 +02:00
Léonard Gérard
43b8bc15b0 Some Cgen fixes. 2010-09-10 11:53:55 +02:00