- 21 Jan, 2020 5 commits
-
-
Etienne Renault authored
If a Blackbox (BB) function modifies variable that is also used inside of a non-blackbox function the following problem occurs: the variable cannot be neither in the blackbox package neither in the normal package. We should try to resolve this problem by : (1) analysis wether variables are exclusively used by BB-fun (2) pass setter as additionnal argument to BB-functions Still for now it is preferable to forbbids BB and globals. * main.go, transform/checktype.go: Here.
-
Etienne Renault authored
* boilerplate/main.go, main.go: Here.
-
Etienne Renault authored
* main.go: Here.
-
Etienne Renault authored
In RERS challenges, file are written in C and the environment is modelled by scanf("%d",...). During the translation, this statement has been converted into __RERS__ = __RERS__ + 1, since this variable is only used to represents the environment. As a consequence, the option -rers "1;2;3" will modify the previous assignment in order to represent the environment. In other this instruction will be replaced by three assignment - __RERS__ = 1 - __RERS__ = 2 - __RERS__ = 3 while the instruction __RERS__ = __RERS__ + 1 will be discarded * boilerplate/main.go, main.go: Here.
-
hmoreau authored
* boilerplate/main.go, channel/channel.go, decl/decl.go, main.go, transform/afterchannels.go, transform/channels.go: Here.
-
- 17 Jan, 2020 2 commits
-
-
hmoreau authored
In order to recover more easily where the channels are set up, a new package has been created, giving details about it. * boilerplate/main.go, channel/channel.go, decl/decl.go, main.go: Here.
-
hmoreau authored
Channels are now treated with all the other transform * main.go, transform/channels.go: Here.
-
- 12 Dec, 2019 1 commit
-
-
hmoreau authored
* main.go: Here.
-
- 11 Dec, 2019 1 commit
-
-
hmoreau authored
In order to be clearer, there is now only one alive statement for array and no more alive statements for every cases of the array. * main.go, transform/arraytreatment.go: Here.
-
- 09 Dec, 2019 1 commit
-
-
hmoreau authored
* main.go: Here.
-
- 04 Dec, 2019 1 commit
-
-
hmoreau authored
* main.go, transform/channels.go: Here.
-
- 29 Nov, 2019 1 commit
-
-
hmoreau authored
use `./go2pins -chaninfo <file>` to display channel information * main.go, transform/channels.go: Here.
-
- 27 Nov, 2019 1 commit
-
-
hmoreau authored
* main.go, tools/blackbox.go: Here.
-
- 26 Nov, 2019 2 commits
- 25 Nov, 2019 1 commit
-
-
hmoreau authored
This transform allow arrays to generate state cell for arrays composant. Need to integrate the make generation of array. * main.go, transform/arraytreatment.go: Here.
-
- 22 Nov, 2019 2 commits
- 20 Nov, 2019 1 commit
-
-
hmoreau authored
In order to have a simplier transformation later, duplicateGoroutines modify '*ast.GoStmt' with the new name. * main.go: Here.
-
- 19 Nov, 2019 2 commits
-
-
hmoreau authored
* main.go: Here.
-
hmoreau authored
The previous design allowed functions to return an array of multiple states, but now they are all dedicated to computing one specific state. GoRoutineFunc has been changed. G2PMain structure has been totally changed. * boilerplate/main.go, main.go, transform/cfg/transform.go, transform/functiondefs.go: Here.
-
- 18 Nov, 2019 9 commits
-
-
Antoine Martin authored
The former G2PEntry, which was in fact an entry point to the main function, is now renamed G2PMain. G2PEntry now handles goroutines, and adds their successors to the main function's successor.
-
Antoine Martin authored
-
Antoine Martin authored
-
Antoine Martin authored
-
Antoine Martin authored
-
Antoine Martin authored
Still need to discuss if these should be destroyed once the program ends
-
Antoine Martin authored
-
-
hmoreau authored
We still need to use this transform. * main.go: Here.
-
- 16 Nov, 2019 2 commits
-
-
hmoreau authored
A little fix has been done in localvariableassignments, respecting token of the assignements. * main.go, transform/localvariableassignments.go: Here.
-
hmoreau authored
Recursion is no longer treated in the case of the function is recursive and blackboxed. * main.go, tools/blackbox.go, tools/callgraph.go, tools/recursion.go : Here.
-
- 22 Oct, 2019 2 commits
-
-
hmoreau authored
In order to be transparent, blackbox now detects when there is call to other function in function to be ignored. This sub-functions are ignored and the user can decide if he wants it or not. * main.go, tools/blackbox.go : Here.
-
hmoreau authored
If a function is ignored and it has sub-functions, this sub-functions are cloned into blackbox package and are ignored when the function is called, perhaps if this sub-function are called from outside, they are still handled by go2pins. Need to be handled next : - Ask user if he is ok with that - Handle recursion for each package(main/ blackbox) * main.go, tools/blackbox : Here.
-
- 16 Oct, 2019 1 commit
-
-
hmoreau authored
go2pins can now a function in the process of compiling Need to improve to ignore multiple functions * transform/checktype.go, tools/blackbox.go, main.go : Here.
-
- 14 Oct, 2019 2 commits
-
-
hmoreau authored
``` var v1 int ``` becomes ``` v1 := 0 ``` * transform/normalizedeclarations.go, main.go : Here.
-
hmoreau authored
Memory was in a little mess and some values of node.List disapeared, all modifications are now done on a tmp list before affecting to the real List. * main.go, transform/arithmeticcall.go : Here.
-
- 11 Oct, 2019 3 commits
-
-
hmoreau authored
* main.go : Here.
-
hmoreau authored
For a better comprehension when reading the output files, the output is directly formated. G2PVariableNames is now easier to read. * tools/formating.go, main.go : Here.
-
hmoreau authored
This transform will add a "boolean" in order to tell when a variable has been set. * transform/alive.go, main.go : Here.
-