Commit Graph
31 Commits
Author SHA1 Message Date
Benjamin_Loison 10838d3f2d Remove TODO in src/passes.ml:automaton_translation
As Antoine Grimod said that it was already done.
2022-12-19 17:45:33 +01:00
Benjamin_Loison e63123d8f6 Move from the x reset y syntax to reset x every y one
As described on https://www.di.ens.fr/~pouzet/cours/mpri/cours7/coiteration.pdf#page=4
2022-12-19 16:28:03 +01:00
Benjamin_Loison 0175749296 Merge branch 'master' of https://gitea.lemnoslife.com/Benjamin_Loison/Synchronous_reactive_systems 2022-12-16 15:53:14 +01:00
Benjamin_Loison edfec42738 Add Git link to title slide of beamer 2022-12-16 16:03:47 +01:00
Benjamin_Loison d06fccf36b Add second slide concerning AST to C 2022-12-16 16:02:03 +01:00
Benjamin_Loison b616bad07a Modify second slide concerning AST to C 2022-12-16 15:53:04 +01:00
Benjamin_Loison 7a0f54f291 Remove unused pp_loc from src/ast_to_c.ml which was copied from src/pp.ml but never used 2022-12-16 15:40:24 +01:00
Benjamin_Loison dbf1583ffd Complete first slide of AST to C 2022-12-16 15:33:39 +01:00
Benjamin_Loison 9e96697991 First slide of AST to C 2022-12-16 15:07:46 +01:00
Benjamin_Loison 73b753bec2 Merge branch 'master' of https://gitea.lemnoslife.com/Benjamin_Loison/Synchronous_reactive_systems 2022-12-16 05:57:55 +01:00
Benjamin_Loison a0383dbf13 Make last equation of a node potentially not ending with a semi column be correctly parsed
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:57:25 +01:00
Benjamin_Loison 530f6ddf51 Merge branch 'master' of https://gitea.lemnoslife.com/Benjamin_Loison/Synchronous_reactive_systems 2022-12-16 05:55:15 +01:00
Benjamin_Loison 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
Benjamin_Loison c37e819f1a Add a title frame to the beamer 2022-12-16 05:06:27 +01:00
Benjamin_Loison ea94bb84dd Merge branch 'master' of https://gitea.lemnoslife.com/Benjamin_Loison/Synchronous_reactive_systems 2022-12-16 04:47:05 +01:00
Benjamin_Loison f55cd56fde Clean other tries 2022-12-16 04:46:48 +01:00
Benjamin_Loison 012131e035 Solve C warnings and support renaming outputs of functions 2022-12-16 04:45:30 +01:00
Benjamin_Loison b58b250532 WIP to remove C warnings 2022-12-16 03:18:21 +01:00
Benjamin_Loison 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
Benjamin_Loison 621658e177 Removing first try to implement generalized function results 2022-12-16 01:55:53 +01:00
Benjamin_Loison 85ecea0b9e First try to implement generalized function results 2022-12-16 01:55:21 +01:00
Benjamin_Loison 7c2c43fe24 Precise to what extent considering integers work fine with working with floats instead 2022-12-16 01:20:42 +01:00
Benjamin_Loison b4ae058bf6 Remove unused variable new_locvars in src/passes.ml 2022-12-16 00:04:57 +01:00
Benjamin_Loison 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
Benjamin_Loison 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
Benjamin_Loison 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
Benjamin_Loison ca271eaf66 Correct typos in src/passes.ml and src/test.node 2022-12-15 20:13:18 +01:00
Benjamin_Loison 72ba196142 Merge branch 'master' of https://gitea.lemnoslife.com/Benjamin_Loison/Synchronous_reactive_systems 2022-12-15 19:52:02 +01:00
Benjamin_Loison 1a06fc9a6a Add reset support in C 2022-12-15 19:51:46 +01:00
Benjamin_Loison 342aba4426 Correct copy-pasted int and bool cases 2022-12-15 16:08:22 +01:00
Benjamin_Loison c441f8b1a6 Correct typo in comment in src/config.ml 2022-12-13 16:03:05 +01:00