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>