Commit Graph

145 Commits

Author SHA1 Message Date
21414e6461 Make last equation of a node potentially not ending with a semi column
Otherwise the following code:

```
-- count the number of top between two tick
node counting (tick:bool; top:bool)
returns (o: bool);
	var v: int;
	let o = if tick then v else 0 -> pre o + v;
		v = if top then 1 else 0
	tel;
```

was involving the following error:

```
Syntax error at <line 1: -- count the number of top between two tick >
```
2022-12-16 05:54:41 +01:00
c37e819f1a Add a title frame to the beamer 2022-12-16 05:06:27 +01:00
ea94bb84dd Merge branch 'master' of https://gitea.lemnoslife.com/Benjamin_Loison/Synchronous_reactive_systems 2022-12-16 04:47:05 +01:00
Arnaud DABY-SEESARAM
3fa0f92233 [beamer] A few straight forward slides added 2022-12-16 10:45:20 +01:00
Arnaud DABY-SEESARAM
3417d75620 [passes] linearisation: correction (10 -> pre (20 -> 30)) works 2022-12-16 09:44:50 +01:00
f55cd56fde Clean other tries 2022-12-16 04:46:48 +01:00
012131e035 Solve C warnings and support renaming outputs of functions 2022-12-16 04:45:30 +01:00
b58b250532 WIP to remove C warnings 2022-12-16 03:18:21 +01:00
78e096d2f4 Add support for returning multiple variables but generate C errors, as we keep returning variables for void functions 2022-12-16 03:03:12 +01:00
621658e177 Removing first try to implement generalized function results 2022-12-16 01:55:53 +01:00
85ecea0b9e First try to implement generalized function results 2022-12-16 01:55:21 +01:00
7c2c43fe24 Precise to what extent considering integers work fine with working with floats instead 2022-12-16 01:20:42 +01:00
Arnaud DABY-SEESARAM
c7a97f3305 [passes] linearization: merge fix 2022-12-16 09:00:03 +01:00
Arnaud DABY-SEESARAM
8d6349dd3f Merge remote-tracking branch 'origin/master' into wip 2022-12-16 08:53:55 +01:00
Arnaud DABY-SEESARAM
d7f0f148e9 [pre linearization] done, not tested 2022-12-16 08:52:48 +01:00
dsac
9987922e0f [passes] linearization of pre (wip) 2022-12-16 07:47:20 +01:00
Antoine Grimod
6af9ddf394 added pass to check validity of automata and disable flattening of automaton branch because of incorrect code resulting from it 2022-12-16 01:04:09 +01:00
Antoine Grimod
1b3af051b3 adding automaton translation pass to list of executed passes 2022-12-16 00:06:51 +01:00
b4ae058bf6 Remove unused variable new_locvars in src/passes.ml 2022-12-16 00:04:57 +01:00
0c8da12afe Correct typo in verification that nodes always have arguments and make the main having such a verification too, as in Lustre 2022-12-16 00:00:11 +01:00
Antoine Grimod
21d2d0c9bb fix type error in code 2022-12-15 23:48:02 +01:00
Antoine Grimod
de294df84a Translation of automaton to lustre almost finished 2022-12-15 23:39:01 +01:00
bfca80bb8b Avoid crashes that can occur when using when with a statement that may crash if the when condition doesn't hold
For instance

```
node main () returns (o: int);
var i: int;
let
    i = 0;
    o = (1 / i) when false;
tel
```

used to crash with for instance:

```
Floating point exception
136
```

now returns `0` but in fact this value wouldn't be used in theory as the `when` condition doesn't hold.
2022-12-15 23:22:15 +01:00
dsac
74f8a3c3e1 [parser] functions other that main → args required 2022-12-15 22:14:59 +01:00
dsac
0d5e045671 [parser] foirbid calling auxiliary nodes with no arguments 2022-12-15 22:07:16 +01:00
dsac
97c6020414 [parser] avoid conflicts between local, input and output variables 2022-12-15 21:42:21 +01:00
bc8c752649 Add a comment concerning pp_resvars to avoid declaring multiple times two arrays while two would be enough 2022-12-15 21:05:20 +01:00
dsac
eceeb3c157 [fix] identation error 2022-12-15 20:37:05 +01:00
ca271eaf66 Correct typos in src/passes.ml and src/test.node 2022-12-15 20:13:18 +01:00
72ba196142 Merge branch 'master' of https://gitea.lemnoslife.com/Benjamin_Loison/Synchronous_reactive_systems 2022-12-15 19:52:02 +01:00
1a06fc9a6a Add reset support in C 2022-12-15 19:51:46 +01:00
Arnaud DABY-SEESARAM
8582337774 [passes] pass to check the typing tags of the program / expressions 2022-12-15 18:33:04 +01:00
Arnaud DABY-SEESARAM
db5c584435 [passes] fix for the equation ordering pass 2022-12-15 17:40:15 +01:00
Arnaud DABY-SEESARAM
6459c54159 [passes] ordering equations 2022-12-15 17:11:19 +01:00
Arnaud DABY-SEESARAM
9151a6e29a [tests] adding the -test option to duplicate sanity checks 2022-12-15 17:11:19 +01:00
Arnaud DABY-SEESARAM
19fd3bc1b9 Merge remote-tracking branch 'origin/master' 2022-12-15 16:18:17 +01:00
Arnaud DABY-SEESARAM
38a7325097 [beamer] slide 7 2022-12-15 16:17:47 +01:00
342aba4426 Correct copy-pasted int and bool cases 2022-12-15 16:08:22 +01:00
dsac
e84a6e387d [beamer] proto 0 2022-12-15 11:40:29 +01:00
dsac
ed5f94f821 [simu] wip 2022-12-15 09:13:59 +01:00
dsac
e75d525a6d [passes] linearisation des équations 2022-12-15 09:13:28 +01:00
dsac
73d5ed7726 [parser] avoid redefinition of nodes 2022-12-14 18:41:59 +01:00
Arnaud DABY-SEESARAM
79f0c7d223 [passes] never redefine an input 2022-12-13 18:15:48 +01:00
Arnaud DABY-SEESARAM
f3416582be [passes] correction of the check not re-init of variables 2022-12-13 18:08:11 +01:00
c441f8b1a6 Correct typo in comment in src/config.ml 2022-12-13 16:03:05 +01:00
Antoine Grimod
b4cc3ae756 "pretty" print for automaton 2022-12-13 15:57:27 +01:00
Arnaud DABY-SEESARAM
e5ac9a719d [passes] check unicity of the assignations for each var 2022-12-13 15:55:21 +01:00
Arnaud DABY-SEESARAM
69b963c305 [gitfix] rebase fix 2022-12-13 15:04:53 +01:00
Antoine Grimod
bb017afe39 added automaton to ast 2022-12-13 15:03:41 +01:00
Arnaud DABY-SEESARAM
ad1f529863 [typo] adding newline 2022-12-13 14:57:55 +01:00