python interface: expose isl_ast_build and isl_ast_expr construction
commitc9a7ccccc68ffe1d4f36c2e2441e12dbdfead076
authorTobias Grosser <tobias@grosser.es>
Thu, 30 Jun 2016 14:22:37 +0000 (30 16:22 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Fri, 1 Jul 2016 15:21:13 +0000 (1 17:21 +0200)
tree5807b6d44208d4a54254b4623369035127901b95
parent8ff6d11256ff240c3c6bde60c7dabc1eea5b81d5
python interface: expose isl_ast_build and isl_ast_expr construction

We expose to the python bindings functionality to construct ast
expressions from a set or pw_aff as well as call and access expressions
from a pw_multi_aff or multi_pw_aff.

This functionality is useful by itself to construct run-time guards and
could in the future also be used to construct memory access functions
for user statements during AST node generation.

For isl_ast_build_from_context there is a choice of either using a named
or an unnamed constructor. A named constructor is preferred as this is
closer to isl's C interface and also more explicit for the user.

isl_ast_build objects currently do not have a __str__ and __repr__
representation as we do not want to expose internal information to the
user. isl_ast_expr uses the new YAML based representation which will
allow us to support the re-construction of isl.ast_expr python
objects later.

Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
include/isl/ast.h
include/isl/ast_build.h
include/isl/ast_type.h
interface/all.h