get_args t decomposes the parser level term
t into a spine
h is the term at the head of the application and
args is the list of all its arguments. The arguments are stored together with the position of the corresponding application node in the source code. Note that
h is guaranteed not to be a
P_Appl node. Term constructors with no equivalent in the dk syntax (like binary symbol applications) are not handled.
add_args t args builds the application of the term
t to the arguments
args is empty, the returned value is exactly
t. Note that this function is the inverse of
get_args (in some sense).
type p_dk_rule = ((Common.Pos.strloc * Syntax.p_term option) list * Syntax.p_term * Syntax.p_term) Common.Pos.loc
Representation of a reduction rule, with its context.