Use beniget/gast for static analyses and production of new code
Created originally on Bitbucket by paugier (Pierre Augier)
Was already merged in Bitbucket before import, marked as merged by the import user
- Recreate annotations
- Cleaner recreate annotations + bugfix Union repr
- Filter code for annotations
- Analyses for blocks_if
- Parse block signatures
- Analyses: parser using tokens for comments
- CaptureX for blocks
- Buggy make_pythran_code with ast analyses
- Sequential tests work with new make_pythran_code (MPI broken)
- MPI tests work with new make_pythran_code
- Add `backends/__init__.py`
- extast: extended AST with CommentLine nodes
-
@include
and "# transonic import" useless!! - DeprecatedWarnings and light clean up
- Update doc
- Simplify parsing module (nothing for blocks) and debug parsing block signatures
- Fix bugs: compile fluidsim!
This PR is not totally ready and anyway should not be merged before the first release of [Beniget](https://github.com/serge-sans-paille/beniget).
It solves many long-term issues:
- https://bitbucket.org/fluiddyn/fluidpythran/issues/6/no-need-for-pythran-import-numpy-as-np
- https://bitbucket.org/fluiddyn/fluidpythran/issues/30/global-variables-in-pythranized-functions
- https://bitbucket.org/fluiddyn/fluidpythran/issues/7/support-kernels-with-function-calls
- https://bitbucket.org/fluiddyn/fluidpythran/issues/1/no-need-for-explicit-return-values-in
Moreover, it is not necessary to import the source files at compilation time so we don’t need to mock modules in setup.py (for example [this kind of horrible things](https://bitbucket.org/fluiddyn/fluidsim/src/757118b1bcaadd5b1352bb98ef5bc3305245d5c3/setup.py#lines-106)).