Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Towards version 1.0 #18

Open
8 of 9 tasks
SebastienRietteMTO opened this issue Feb 9, 2024 · 1 comment
Open
8 of 9 tasks

Towards version 1.0 #18

SebastienRietteMTO opened this issue Feb 9, 2024 · 1 comment

Comments

@SebastienRietteMTO
Copy link
Contributor

SebastienRietteMTO commented Feb 9, 2024

Several features must be implemented first:

  • possibility to create a python driver around a subroutine
  • rewriting using classes
    • a PYFT class which open, write the file and give access to the xml by a method returning a PYFTscope object
    • a PYFTscope class which implements find, findall, remove... applied on nodes corresponding to a specifi scope, and a method that return a new PYFTscope object representing a sub-scope included in the scope
    • almost all functions become methods of this PYFTscope objetc
  • a better handling of the tree concept, one idea is to create a new class PYFTtree to group all trees functionalities; this class can call the PYFT/PYFTscope functionalities on all source codes found in the tree (associated to a tool PYFTtree_tool.sh) and holds the method dealing exclusively on trees (the descTree object is inside and is maintained up-to-date after having called methods on PYFT/PYFTscope). Ex: if we call PYFTtree.checkINTENT, PYFTtree lloks for the method checkINTENT, does not find it and call this method of PYFT on each file found in the tree, then the descTree object is updated (in case the method has changed the trees). If we call PYFTtree.plotExecTree, it builds the descTree and plot the graph. But a way to apply several transformations at once must be also found.
  • use the examples to write a script to test the different transformations with a comparison to the reference result
  • continuous integration (with the tests provided in the example directory and a pylint and/or flake8 control)
  • online documentation
  • package on PyPI with fxtran dependency

And some issues must be solved:

@SebastienRietteMTO
Copy link
Contributor Author

The commit 76f61bc adds the possibility to apply a set of transformations in parallel to the files in the tree. One thread by file, and inside each process there's a loop on the transformations to apply.

To apply a set of transformations in the way described in the issue, we would need to reverse both loops: an outer loop on the transformations and the inner loop with the files. We cannot apply the transformations on parallel, the processes are still affected one per file. But we cannot instantiate as much processes as there are files, then we would need to open, read, write and close each file several times.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant