pub enum Statement {
Show 80 variants
CompileOption {
option: CompileOption,
},
ProgramName {
name: String,
},
ExitProgram,
ExternSub {
name: String,
arguments: Vec<ArgumentInfo>,
},
Argument {
arguments: Vec<ArgumentInfo>,
},
Call {
name: String,
arguments: Vec<(String, Expr)>,
},
AssignAddInto {
var_name: String,
value: Expr,
},
AssignRefAddInto {
var_name: String,
value: Expr,
},
AssignAddIntoElement {
var_name: String,
index: Expr,
value: Expr,
},
AssignRefAddIntoElement {
var_name: String,
index: Expr,
value: Expr,
},
AssignBoolean {
var_name: String,
value: Expr,
},
AssignRefBoolean {
var_name: String,
value: Expr,
},
AssignBooleanElement {
var_name: String,
index: Expr,
value: Expr,
},
AssignRefBooleanElement {
var_name: String,
index: Expr,
value: Expr,
},
AssignIntegerElement {
var_name: String,
index: Expr,
value: Expr,
},
AssignRefIntegerElement {
var_name: String,
index: Expr,
value: Expr,
},
AssignCharacterElement {
var_name: String,
index: Expr,
value: Expr,
},
AssignRefCharacterElement {
var_name: String,
index: Expr,
value: Expr,
},
AssignInteger {
var_name: String,
value: Expr,
},
AssignRefInteger {
var_name: String,
value: Expr,
},
AssignString {
var_name: String,
value: Expr,
},
AssignRefString {
var_name: String,
value: Expr,
},
AssignSubInto {
var_name: String,
value: Expr,
},
AssignRefSubInto {
var_name: String,
value: Expr,
},
AssignSubIntoElement {
var_name: String,
index: Expr,
value: Expr,
},
AssignRefSubIntoElement {
var_name: String,
index: Expr,
value: Expr,
},
AssignBooleanArray {
var_name: String,
value: Expr,
},
AssignRefBooleanArray {
var_name: String,
value: Expr,
},
AssignIntegerArray {
var_name: String,
value: Expr,
},
AssignRefIntegerArray {
var_name: String,
value: Expr,
},
ContinueDo {
exit_id: usize,
},
ContinueFor {
exit_id: usize,
},
Dim {
var_name: String,
var_type: VarType,
},
Mid {
var_name: String,
var_is_ref: bool,
offset: Expr,
length: Option<Expr>,
value: Expr,
},
DoLoop {
exit_id: usize,
block: Vec<Statement>,
},
DoLoopUntil {
exit_id: usize,
condition: Expr,
block: Vec<Statement>,
},
DoLoopWhile {
exit_id: usize,
condition: Expr,
block: Vec<Statement>,
},
DoUntilLoop {
exit_id: usize,
condition: Expr,
block: Vec<Statement>,
},
DoWhileLoop {
exit_id: usize,
condition: Expr,
block: Vec<Statement>,
},
ProvisionalDo {
exit_id: usize,
until_condition: Option<Expr>,
while_condition: Option<Expr>,
},
ExitDo {
exit_id: usize,
},
ExitFor {
exit_id: usize,
},
ExitSelect {
exit_id: usize,
},
For {
exit_id: usize,
counter: String,
counter_is_ref: bool,
init: Expr,
end: Expr,
step: Option<Expr>,
block: Vec<Statement>,
},
ProvisionalFor {
exit_id: usize,
counter: String,
counter_is_ref: bool,
init: Expr,
end: Expr,
step: Option<Expr>,
},
If {
condition: Expr,
block: Vec<Statement>,
else_blocks: Vec<Statement>,
},
ProvitionalIf {
condition: Expr,
},
ElseIf {
condition: Expr,
block: Vec<Statement>,
},
ProvisionalElseIf {
condition: Expr,
},
Else {
block: Vec<Statement>,
},
ProvisionalElse,
SelectInteger {
exit_id: usize,
value: Expr,
case_blocks: Vec<Statement>,
},
ProvisionalSelectInteger {
exit_id: usize,
value: Expr,
},
CaseInteger {
values: Vec<CaseIntegerItem>,
block: Vec<Statement>,
},
ProvisionalCaseInteger {
values: Vec<CaseIntegerItem>,
},
SelectString {
exit_id: usize,
value: Expr,
case_blocks: Vec<Statement>,
},
ProvisionalSelectString {
exit_id: usize,
value: Expr,
},
CaseString {
values: Vec<String>,
block: Vec<Statement>,
},
ProvisionalCaseString {
values: Vec<String>,
},
CaseElse {
block: Vec<Statement>,
},
ProvisionalCaseElse,
InputElementInteger {
var_name: String,
index: Expr,
},
InputInteger {
var_name: String,
},
InputString {
var_name: String,
},
InputRefElementInteger {
var_name: String,
index: Expr,
},
InputRefInteger {
var_name: String,
},
InputRefString {
var_name: String,
},
PrintLitBoolean {
value: bool,
},
PrintLitInteger {
value: i32,
},
PrintLitString {
value: String,
},
PrintVarString {
var_name: String,
},
PrintExprBoolan {
value: Expr,
},
PrintExprInteger {
value: Expr,
},
PrintExprString {
value: Expr,
},
FillArrayOfBoolean {
var_name: String,
value: Expr,
},
FillRefArrayOfBoolean {
var_name: String,
value: Expr,
},
FillArrayOfInteger {
var_name: String,
value: Expr,
},
FillRefArrayOfInteger {
var_name: String,
value: Expr,
},
FillString {
var_name: String,
value: Expr,
},
FillRefString {
var_name: String,
value: Expr,
},
}Variants§
CompileOption
Fields
§
option: CompileOptionProgramName
ExitProgram
ExternSub
Argument
Fields
§
arguments: Vec<ArgumentInfo>Call
AssignAddInto
AssignRefAddInto
AssignAddIntoElement
AssignRefAddIntoElement
AssignBoolean
AssignRefBoolean
AssignBooleanElement
AssignRefBooleanElement
AssignIntegerElement
AssignRefIntegerElement
AssignCharacterElement
AssignRefCharacterElement
AssignInteger
AssignRefInteger
AssignString
AssignRefString
AssignSubInto
AssignRefSubInto
AssignSubIntoElement
AssignRefSubIntoElement
AssignBooleanArray
AssignRefBooleanArray
AssignIntegerArray
AssignRefIntegerArray
ContinueDo
ContinueFor
Dim
Mid
DoLoop
DoLoopUntil
DoLoopWhile
DoUntilLoop
DoWhileLoop
ProvisionalDo
ExitDo
ExitFor
ExitSelect
For
Fields
ProvisionalFor
If
ProvitionalIf
ElseIf
ProvisionalElseIf
Else
ProvisionalElse
SelectInteger
ProvisionalSelectInteger
CaseInteger
ProvisionalCaseInteger
Fields
§
values: Vec<CaseIntegerItem>SelectString
ProvisionalSelectString
CaseString
ProvisionalCaseString
CaseElse
ProvisionalCaseElse
InputElementInteger
InputInteger
InputString
InputRefElementInteger
InputRefInteger
InputRefString
PrintLitBoolean
PrintLitInteger
PrintLitString
PrintVarString
PrintExprBoolan
PrintExprInteger
PrintExprString
FillArrayOfBoolean
FillRefArrayOfBoolean
FillArrayOfInteger
FillRefArrayOfInteger
FillString
FillRefString
Trait Implementations§
impl Eq for Statement
impl StructuralPartialEq for Statement
Auto Trait Implementations§
impl Freeze for Statement
impl RefUnwindSafe for Statement
impl Send for Statement
impl Sync for Statement
impl Unpin for Statement
impl UnwindSafe for Statement
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more