3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-24 13:23:37 +01:00
dft_tools/pytriqs/wrap_generator
Olivier Parcollet ab3b9b3d4d Draft libclang based python wrapper desc generator
- Given a C++ file, e.g. a class,
  it calls libclang to parse the C++, and retrieve from
  its AST the necessary info to write a xxx_desc.py file.

- THIS IS WORK IN PROGRESS. There are several corner cases for which we
  may want (or not) the script to do better.
- It is not designed to be used automatically, but to to 90 % of the
  boring typesetting work...
- The preamble still needs manual choices

- The properties, methods, functions are automatically declared in
  the _desc file, in the simplest possible way.
- An option --properties, -p : to transform some simple methods or
  get_x, set_x into python properties, not methods.
  Cf doc.

- requires clang (tested on 3.4).
- the script is configured by cmake and installed in
  INSTALLATION_DIRECTORY/bin, with some other files.
  It can only be used for applications, after the lib has been installed.
  It is cmake configured, to include automatically the various include
  paths configure in the triqs installation, including the triqs install dir
  in order to simplify invocation.

- TODO : improve, and test more in real cases.
2014-07-08 23:37:59 +02:00
..
__init__.py doc : split c++ code from rst 2014-05-31 23:00:16 +02:00
clang_parser.py Draft libclang based python wrapper desc generator 2014-07-08 23:37:59 +02:00
CMakeLists.txt Draft libclang based python wrapper desc generator 2014-07-08 23:37:59 +02:00
py_converter_wrapper.mako.hpp Wrapper : clean and document. 2014-05-31 16:10:07 +02:00
wrap_desc.mako.py Draft libclang based python wrapper desc generator 2014-07-08 23:37:59 +02:00
wrap_generator.py python wrapper. Pre/postcall can now be inlined 2014-07-02 16:48:15 +02:00
wrapper_desc_generator.py.in Draft libclang based python wrapper desc generator 2014-07-08 23:37:59 +02:00
wrapper.mako.cpp python wrapper. Pre/postcall can now be inlined 2014-07-02 16:48:15 +02:00