Skip to main content

Statement

Enum Statement 

Source
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

§

ProgramName

Fields

§name: String
§

ExitProgram

§

ExternSub

Fields

§name: String
§arguments: Vec<ArgumentInfo>
§

Argument

Fields

§arguments: Vec<ArgumentInfo>
§

Call

Fields

§name: String
§arguments: Vec<(String, Expr)>
§

AssignAddInto

Fields

§var_name: String
§value: Expr
§

AssignRefAddInto

Fields

§var_name: String
§value: Expr
§

AssignAddIntoElement

Fields

§var_name: String
§index: Expr
§value: Expr
§

AssignRefAddIntoElement

Fields

§var_name: String
§index: Expr
§value: Expr
§

AssignBoolean

Fields

§var_name: String
§value: Expr
§

AssignRefBoolean

Fields

§var_name: String
§value: Expr
§

AssignBooleanElement

Fields

§var_name: String
§index: Expr
§value: Expr
§

AssignRefBooleanElement

Fields

§var_name: String
§index: Expr
§value: Expr
§

AssignIntegerElement

Fields

§var_name: String
§index: Expr
§value: Expr
§

AssignRefIntegerElement

Fields

§var_name: String
§index: Expr
§value: Expr
§

AssignCharacterElement

Fields

§var_name: String
§index: Expr
§value: Expr
§

AssignRefCharacterElement

Fields

§var_name: String
§index: Expr
§value: Expr
§

AssignInteger

Fields

§var_name: String
§value: Expr
§

AssignRefInteger

Fields

§var_name: String
§value: Expr
§

AssignString

Fields

§var_name: String
§value: Expr
§

AssignRefString

Fields

§var_name: String
§value: Expr
§

AssignSubInto

Fields

§var_name: String
§value: Expr
§

AssignRefSubInto

Fields

§var_name: String
§value: Expr
§

AssignSubIntoElement

Fields

§var_name: String
§index: Expr
§value: Expr
§

AssignRefSubIntoElement

Fields

§var_name: String
§index: Expr
§value: Expr
§

AssignBooleanArray

Fields

§var_name: String
§value: Expr
§

AssignRefBooleanArray

Fields

§var_name: String
§value: Expr
§

AssignIntegerArray

Fields

§var_name: String
§value: Expr
§

AssignRefIntegerArray

Fields

§var_name: String
§value: Expr
§

ContinueDo

Fields

§exit_id: usize
§

ContinueFor

Fields

§exit_id: usize
§

Dim

Fields

§var_name: String
§var_type: VarType
§

Mid

Fields

§var_name: String
§var_is_ref: bool
§offset: Expr
§length: Option<Expr>
§value: Expr
§

DoLoop

Fields

§exit_id: usize
§

DoLoopUntil

Fields

§exit_id: usize
§condition: Expr
§

DoLoopWhile

Fields

§exit_id: usize
§condition: Expr
§

DoUntilLoop

Fields

§exit_id: usize
§condition: Expr
§

DoWhileLoop

Fields

§exit_id: usize
§condition: Expr
§

ProvisionalDo

Fields

§exit_id: usize
§until_condition: Option<Expr>
§while_condition: Option<Expr>
§

ExitDo

Fields

§exit_id: usize
§

ExitFor

Fields

§exit_id: usize
§

ExitSelect

Fields

§exit_id: usize
§

For

Fields

§exit_id: usize
§counter: String
§counter_is_ref: bool
§init: Expr
§end: Expr
§step: Option<Expr>
§

ProvisionalFor

Fields

§exit_id: usize
§counter: String
§counter_is_ref: bool
§init: Expr
§end: Expr
§step: Option<Expr>
§

If

Fields

§condition: Expr
§else_blocks: Vec<Statement>
§

ProvitionalIf

Fields

§condition: Expr
§

ElseIf

Fields

§condition: Expr
§

ProvisionalElseIf

Fields

§condition: Expr
§

Else

Fields

§

ProvisionalElse

§

SelectInteger

Fields

§exit_id: usize
§value: Expr
§case_blocks: Vec<Statement>
§

ProvisionalSelectInteger

Fields

§exit_id: usize
§value: Expr
§

CaseInteger

Fields

§

ProvisionalCaseInteger

Fields

§

SelectString

Fields

§exit_id: usize
§value: Expr
§case_blocks: Vec<Statement>
§

ProvisionalSelectString

Fields

§exit_id: usize
§value: Expr
§

CaseString

Fields

§values: Vec<String>
§

ProvisionalCaseString

Fields

§values: Vec<String>
§

CaseElse

Fields

§

ProvisionalCaseElse

§

InputElementInteger

Fields

§var_name: String
§index: Expr
§

InputInteger

Fields

§var_name: String
§

InputString

Fields

§var_name: String
§

InputRefElementInteger

Fields

§var_name: String
§index: Expr
§

InputRefInteger

Fields

§var_name: String
§

InputRefString

Fields

§var_name: String
§

PrintLitBoolean

Fields

§value: bool
§

PrintLitInteger

Fields

§value: i32
§

PrintLitString

Fields

§value: String
§

PrintVarString

Fields

§var_name: String
§

PrintExprBoolan

Fields

§value: Expr
§

PrintExprInteger

Fields

§value: Expr
§

PrintExprString

Fields

§value: Expr
§

FillArrayOfBoolean

Fields

§var_name: String
§value: Expr
§

FillRefArrayOfBoolean

Fields

§var_name: String
§value: Expr
§

FillArrayOfInteger

Fields

§var_name: String
§value: Expr
§

FillRefArrayOfInteger

Fields

§var_name: String
§value: Expr
§

FillString

Fields

§var_name: String
§value: Expr
§

FillRefString

Fields

§var_name: String
§value: Expr

Trait Implementations§

Source§

impl Clone for Statement

Source§

fn clone(&self) -> Statement

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Statement

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Statement

Source§

impl PartialEq for Statement

Source§

fn eq(&self, other: &Statement) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Statement

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.