Module cranelift_isle::ast
source · Expand description
Abstract syntax tree (AST) created from parsed ISLE.
Structs
An implicit converter: the given term, which must have type
(inner_ty) -> outer_ty, is used either in extractor or constructor
position as appropriate when a type mismatch with the given pair
of types would otherwise occur.
A declaration of a term with its argument and return types.
The parsed form of an ISLE file.
An extractor macro: (A x y) becomes (B x _ y …). Expanded during
ast-to-sema pass.
One field of an enum variant.
An identifier – a variable, term symbol, or type.
One variable locally bound in a
(let ...)
expression.A declaration of a type.
One variant of an enum type.
Enums
One toplevel form in an ISLE file.
An expression: the right-hand side of a rule.
An external binding: an extractor or constructor function attached
to a term.
A pattern: the left-hand side of a rule.
Pragmas parsed with the
(pragma <ident>)
syntax.The actual type-value: a primitive or an enum with variants.