Commit graph

303 commits

Author SHA1 Message Date
Léonard Gérard
b93b176383 Mls parsing error handling adapted to menhir 2010-06-30 18:46:40 +02:00
Cédric Pasteur
9448ed23a1 Formatting fixes 2010-06-30 17:30:48 +02:00
Cédric Pasteur
79fb193206 New calling convention in generated code
Functions take as arg:
	- the inputs
	- a 'f_out' structure: if there is at least one
input (whatever their type are)
	- a 'f_mem' structure: containing memories and
contexts for child nodes. This is created only for
node (not for fun). A node declared statefull 
without any memory will have an empty structure.
2010-06-30 17:30:48 +02:00
Léonard Gérard
7e29ba4057 ?? nothing 2010-06-30 17:25:00 +02:00
Adrien Guatto
d0b222b003 Working Menhir parser with --table 2010-06-30 17:00:07 +02:00
Léonard Gérard
562c0ab602 re re Parsing. 2010-06-30 15:45:40 +02:00
Léonard Gérard
6ab18a65ec Parsing..... again. 2010-06-30 15:45:40 +02:00
Léonard Gérard
92afdbfb98 Mls parsing to ammend. 2010-06-30 15:45:40 +02:00
Adrien Guatto
7ab2efea40 Cleaning tool 2010-06-30 15:36:07 +02:00
Adrien Guatto
6e9cd7f490 Fixed missing error reporting. 2010-06-30 14:11:13 +02:00
Adrien Guatto
7d6ed5d30f Fixed parse error reporting 2010-06-30 14:04:17 +02:00
Cédric Pasteur
01d0cd02c3 Remove bounds hack in Eselect_dyn
We no longer need to store the bounds as the 
bounds check expression is generated from MiniLS
code where the type is directly available.
2010-06-30 13:46:46 +02:00
Cédric Pasteur
b4419a6760 Better deal with memory less nodes
There are now 3 kinds of nodes: Eprim : primitive 
nodes, Enode: nodes with memory, Efun: nodes 
without memory.

Typing now sets correct eq_statefull and b_statefull
for equations and blocks. Resets are only added 
when a node with memory is called.

The calling convention is the generated code needs
to be modified so that we can remove the context 
for nodes without memory.
2010-06-30 13:37:54 +02:00
Léonard Gérard
2af3686af2 Mls printer fix. 2010-06-30 03:25:08 +02:00
Léonard Gérard
0c5a8d8ffe compilers refactoring. and bug fix of heptc vs heptcheck. 2010-06-29 19:21:07 +02:00
Léonard Gérard
2127a1c2d4 Mls printing fix. 2010-06-29 19:21:07 +02:00
Léonard Gérard
88732ef2a9 parsing warning removed. 2010-06-29 19:21:07 +02:00
Léonard Gérard
7c0c2e0415 v_name -> v_ident for idents.... 2010-06-29 19:21:01 +02:00
Léonard Gérard
eca36de94b Moved mlsparsing stuff to minils/parsing. 2010-06-29 19:18:50 +02:00
Adrien Guatto
4159845401 Added manual style checking script. 2010-06-29 11:21:31 +02:00
Adrien Guatto
f35bf95458 Indentation fixes! 2010-06-29 11:18:50 +02:00
Adrien Guatto
ef55c8f9fd Fixed forgotten AST change in MiniLS. 2010-06-29 11:12:04 +02:00
Léonard Gérard
b595dee62f Small usefull heptc wrapper. 2010-06-28 18:06:39 +02:00
Léonard Gérard
0f2d046d59 Gros blop pour que Mlsc compile.
-* Séparation du fichier minils avec création de mls_utils
-* Lexer et Parser qui fonctionnent (pas complets encore)
-* Use of menhir with --explain pour debug du parser
-* Quelques refactoring (ident/name...)
2010-06-28 18:06:39 +02:00
Cédric Pasteur
3a80061392 Fix compilation 2010-06-28 16:15:44 +02:00
Cédric Pasteur
9105b54c1f Fix for causality
Tuples should behave like ands for nodes that
are not reads or writes of a single variable
2010-06-28 16:12:14 +02:00
Adrien Guatto
04fcf5a826 C compilation script: tell GCC to use C99 mode. 2010-06-28 15:18:16 +02:00
Adrien Guatto
ff07d77667 Assertion generation for C back-end. 2010-06-27 23:28:38 +02:00
Adrien Guatto
5db45bd497 Generated C programs now accept a max step command-line argument. 2010-06-27 23:28:38 +02:00
Adrien Guatto
a7cb44532b Updated helper scripts. 2010-06-27 23:28:38 +02:00
Adrien Guatto
b4ddefa65c Tabs, trailing ws and long lines shall receive no mercy! 2010-06-26 17:17:28 +02:00
Adrien Guatto
7323c83f79 Added git hooks for lexical syntax checking. 2010-06-26 16:34:02 +02:00
Cédric Pasteur
dece22d0b6 Fix iterators with constant arrays 2010-06-25 13:48:57 +02:00
Cédric Pasteur
9b18eb71a4 Operators can appear in the exp normal form 2010-06-25 13:48:46 +02:00
Léonard Gérard
1a829ea4e0 Mls parser tweak, todos and co added 2010-06-24 05:05:58 +02:00
Cédric Pasteur
21891b8746 Fixed bug in causal 2010-06-24 05:01:11 +02:00
Cédric Pasteur
b360e56893 Unbreak Graph 2010-06-24 05:01:10 +02:00
Cédric Pasteur
4525f5cfd0 More compile fix 2010-06-24 05:01:10 +02:00
Cédric Pasteur
c57ae52862 Do not forget to write the interface file 2010-06-24 05:01:10 +02:00
Cédric Pasteur
744f166e12 Add a missing case in Minils Init
The encoding of a reset for e1 -> e2 (in heptagon) is:
	if true fby false then e1 else e2

which is well initiliazed even in e2 = pre x.
2010-06-24 05:01:10 +02:00
Cédric Pasteur
7984917b0e Make the file more readable
Use let in and meaningfull names 
to show the structure of the functions 
(which shows that it is more simple that it 
appeared before)
2010-06-24 05:01:10 +02:00
Adrien Guatto
30338a3f38 Removed outdated command-line options. 2010-06-24 04:59:35 +02:00
Cédric Pasteur
8515c533d2 Updated Heptagon printer
The indentation is not perfect but this will do.
2010-06-24 04:59:35 +02:00
Cédric Pasteur
db6344921a Updated Obc printer 2010-06-24 04:56:53 +02:00
Cédric Pasteur
6f2d5175e5 Do not add reset for op 2010-06-24 04:56:53 +02:00
Adrien Guatto
206605a707 Added missing boolean case in MiniLS' print_type. 2010-06-24 04:56:53 +02:00
Cédric Pasteur
0a65964ee6 Put back error in Clocking 2010-06-24 04:56:53 +02:00
Cédric Pasteur
ac87128e54 Put a special case for operators
Without this, pre x + 1 cannot be written.
2010-06-24 04:55:15 +02:00
Cédric Pasteur
ccfd3f368a Disable this for now 2010-06-24 04:55:15 +02:00
Cédric Pasteur
5f1b63b33a Fix bug with locations 2010-06-24 04:55:15 +02:00