Two functions are provided which allow an application to determine if an AST was created as an expression or a suite. Neither of these functions can be used to determine if an AST was created from source code via expr() or suite() or from a parse tree via sequence2ast().
'eval'
form, this function
returns true, otherwise it returns false. This is useful, since code
objects normally cannot be queried for this information using existing
built-in functions. Note that the code objects created by
compileast() cannot be queried like this either, and are
identical to those created by the built-in
compile() function.
'exec'
form, commonly known as a
``suite.'' It is not safe to assume that this function is equivalent
to "not isexpr(ast)", as additional syntactic fragments may
be supported in the future.