Enum peepmatic_runtime::linear::Action [−][src]
pub enum Action<TOperator> {
GetLhs {
lhs: LhsId,
},
UnaryUnquote {
operator: UnquoteOperator,
operand: RhsId,
},
BinaryUnquote {
operator: UnquoteOperator,
operands: [RhsId; 2],
},
MakeIntegerConst {
value: IntegerId,
bit_width: BitWidth,
},
MakeBooleanConst {
value: bool,
bit_width: BitWidth,
},
MakeConditionCode {
cc: ConditionCode,
},
MakeUnaryInst {
operand: RhsId,
type: Type,
operator: TOperator,
},
MakeBinaryInst {
operator: TOperator,
type: Type,
operands: [RhsId; 2],
},
MakeTernaryInst {
operator: TOperator,
type: Type,
operands: [RhsId; 3],
},
}
Expand description
An action to perform when transitioning between states in the automata.
When evaluating actions, the i^th
action implicitly defines the
RhsId(i)
.
Variants
Reuse something from the left-hand side.
Fields of GetLhs
lhs: LhsId
The left-hand side instruction or value.
Perform compile-time evaluation.
Fields of UnaryUnquote
Perform compile-time evaluation.
Fields of BinaryUnquote
operator: UnquoteOperator
The unquote operator.
operands: [RhsId; 2]
The constant operands to this unquote.
Create an integer constant.
Fields of MakeIntegerConst
Create a boolean constant.
Fields of MakeBooleanConst
Create a condition code.
Fields of MakeConditionCode
cc: ConditionCode
The condition code.
Make a unary instruction.
Fields of MakeUnaryInst
Make a binary instruction.
Fields of MakeBinaryInst
Make a ternary instruction.
Fields of MakeTernaryInst
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl<TOperator> RefUnwindSafe for Action<TOperator> where
TOperator: RefUnwindSafe,
impl<TOperator> UnwindSafe for Action<TOperator> where
TOperator: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more