Crate air_ir

Crate air_ir 

Source

Modules§

passes

Structs§

Air
The intermediate representation of a complete AirScript program
AlgebraicGraph
The AlgebraicGraph is a directed acyclic graph used to represent integrity constraints. To store it compactly, it is represented as a vector of nodes where each node references other nodes by their index in the vector.
Bus
An Air struct to represent a Bus definition
BusOp
Represent an operation on a bus, such as inserting or removing values.
ConstraintRoot
A ConstraintRoot represents the entry node of a subgraph within the AlgebraicGraph representing a constraint. It also contains the ConstraintDomain for the constraint, which is the domain against which the constraint should be applied.
Constraints
Constraints is the algebraic graph representation of all the constraints in an [AirScript]. The graph contains all of the constraints, each of which is a subgraph consisting of all the expressions involved in evaluating the constraint, including constants, references to the trace, public inputs, random values, and periodic columns.
Identifier
Represents any type of identifier in AirScript
IntegrityConstraintDegree
Degree descriptor of an integrity constraint.
Node
A node in the AlgebraicGraph
NodeIndex
A unique identifier for a node in an AlgebraicGraph
PeriodicColumn
Declaration of a periodic column in an AirScript module.
PeriodicColumnAccess
Represents an access of a PeriodicColumn, similar in nature to TraceAccess
PublicInputAccess
Represents an access of a PublicInput, similar in nature to TraceAccess
PublicInputTableAccess
Represents an access of a public input table, similar in nature to [TraceAccess].
QualifiedIdentifier
Represents an identifier qualified with both its parent module and namespace.
Symbol
A symbol is an interned string.
TraceAccess
TraceAccess is like [SymbolAccess], but is used to describe an access to a specific trace column or columns.

Enums§

AccessType
Represents the way an identifier is accessed/referenced in the source.
Boundary
Describes the type of boundary in the boundary constraint.
BusBoundary
Represents the boundaries of a bus, which can be either a public input table or an empty bus.
BusOpKind
BusType
CompileError
ConstraintDomain
ConstraintDomain corresponds to the domain over which a constraint is applied.
ConstraintError
Operation
Operation defines the various node types represented in the AlgebraicGraph.
PublicInput
Declaration of a public input for an AirScript program.
Value
Represents a scalar value in the AlgebraicGraph

Constants§

AUX_SEGMENT
The auxiliary trace segment.
CURRENT_ROW
The offset of the “current” row during constraint evaluation.
DEFAULT_SEGMENT
The default segment against which a constraint is applied is the main trace segment.
MIN_CYCLE_LENGTH
The minimum cycle length of a periodic column

Traits§

CodeGenerator
This trait should be implemented on types which handle generating code from AirScript IR

Type Aliases§

TraceSegmentId
The id of a trace segment is its index in the trace_columns declaration