This package contains the definition of AST nodes.


Interface Summary
Module This interface represents an Alloy module.

Class Summary
Attr Immutable; represents attributes that can be associated with Signatures and some other AST objects.
Browsable This abstract class represents a node that can be browsed in the graphical parse tree viewer.
Command Immutable; reresents a "run" or "check" command.
CommandScope Immutable; reresents a scope in a "run" or "check" command.
Decl Immutable; this declaration binds a list of names to an expression.
Expr Immutable; represents a formula or expression.
ExprBad Immutable; represents an illegal node.
ExprBadCall Immutable; represents an illegal pred/fun call.
ExprBadJoin Immutable; represents an illegal relation join.
ExprBinary Immutable; represents an expression of the form (x OP y).
ExprCall Immutable; represents a call.
ExprChoice Immutable; represents an unresolved node that has several possibilities.
ExprConstant Immutable; represents a constant in the AST.
ExprCustom Immutable; represents a custom node.
ExprHasName Immutable; represents a named entity (such as a Field, or a LET or QUANTIFICATION variable, or a function/predicate parameter).
ExprITE Immutable; represents an if-then-else expression.
ExprLet Immutable; represents an expression of the form (let a=b | x).
ExprList Immutable; represents disjoint[] or pred/totalOrder[] or (...
ExprQt Immutable; represents a quantified expression.
ExprUnary Immutable; represents a unary expression of the form "(OP subexpression)"
ExprVar Immutable; represents a LET or QUANTIFICATION variable in the AST.
Func Mutable; represents a predicate or function.
Sig Mutable; represents a signature.
Sig.Field Mutable; represents a field.
Sig.PrimSig Mutable; reresents a non-subset signature.
Sig.SubsetSig Mutable; reresents a subset signature.
Type Immutable; represents the type of an expression.
Type.ProductType Immutable; represents a list of PrimSig objects.
VisitQuery<T> This abstract class implements a Query visitor that walks over an Expr and its subnodes.
VisitReturn<T> This abstract class defines what a Return Visitor's interface needs to be.

Enum Summary
Attr.AttrType This class contains all possible attribute types.
ExprBinary.Op This class contains all possible binary operators.
ExprConstant.Op This class contains all possible constant types.
ExprList.Op This class contains all possible builtin predicates.
ExprQt.Op This class contains all possible quantification operators.
ExprUnary.Op This class contains all possible unary operators.

Package Description

This package contains the definition of AST nodes.