pub enum Stmt {
Show 40 variants
Move {
from: Operand,
to: Vec<Ref>,
pos: Pos,
},
Compute {
targets: Vec<Target>,
expr: Expr,
size_error: Option<SizeError>,
pos: Pos,
},
Arith(Box<Arith>),
If {
cond: Cond,
then: Vec<Stmt>,
otherwise: Vec<Stmt>,
pos: Pos,
},
PerformInline {
body: Vec<Stmt>,
repeat: Loop,
pos: Pos,
},
PerformProc {
from: ProcName,
thru: Option<ProcName>,
repeat: Loop,
pos: Pos,
},
Evaluate {
subjects: Vec<Subject>,
whens: Vec<When>,
other: Vec<Stmt>,
pos: Pos,
},
Display {
items: Vec<Operand>,
no_advancing: bool,
pos: Pos,
},
Open {
files: Vec<(OpenMode, String)>,
pos: Pos,
},
Close {
files: Vec<String>,
pos: Pos,
},
Read(Box<ReadStmt>),
Write {
record: Ref,
from: Option<Operand>,
advancing: Option<Advancing>,
invalid: Handlers,
end_of_page: Handlers,
pos: Pos,
},
Rewrite {
record: Ref,
from: Option<Operand>,
invalid: Handlers,
pos: Pos,
},
Delete {
file: String,
invalid: Handlers,
pos: Pos,
},
Start {
file: String,
key: Option<(RelOp, Ref)>,
invalid: Handlers,
pos: Pos,
},
Initialize {
targets: Vec<Ref>,
pos: Pos,
},
GoTo {
target: Option<ProcName>,
pos: Pos,
},
GoToDepending {
targets: Vec<ProcName>,
on: Ref,
pos: Pos,
},
Alter {
pairs: Vec<(ProcName, ProcName)>,
pos: Pos,
},
Entry {
name: String,
using: Vec<Param>,
pos: Pos,
},
Goback {
pos: Pos,
},
ExitProgram {
pos: Pos,
},
Call(Box<Call>),
Cancel {
targets: Vec<Operand>,
pos: Pos,
},
Set {
set: SetStmt,
pos: Pos,
},
Accept {
target: Ref,
from: AcceptFrom,
pos: Pos,
},
String(Box<StringStmt>),
Unstring(Box<Unstring>),
Inspect(Box<Inspect>),
Search(Box<Search>),
NextSentence,
SentenceEnd,
Exec(Box<ExecBlock>),
Report(Box<ReportStmt>),
Invoke(Box<Invoke>),
ExitMethod {
pos: Pos,
},
Sorting(Box<Sorting>),
StopRun {
pos: Pos,
},
Continue,
Exit {
kind: ExitKind,
pos: Pos,
},
}Variants§
Move
Compute
Arith(Box<Arith>)
ADD, SUBTRACT, MULTIPLY and DIVIDE, reduced to their arithmetic.
If
PerformInline
PerformProc
Evaluate
Display
Open
Close
Read(Box<ReadStmt>)
Write
Fields
Rewrite
Delete
Start
Initialize
GoTo
GO TO; with no target, the altered GO TO that only an ALTER gives one.
GoToDepending
GO TO … DEPENDING ON: the procedure the item’s value numbers, or on when none does.
Alter
ALTER: each paragraph whose GO TO is to go instead to the procedure paired with it.
Entry
ENTRY: where a CALL of name begins, and the LINKAGE items its USING list addresses.
Goback
ExitProgram
EXIT PROGRAM: returns from a called program; in the first program it does nothing.
Call(Box<Call>)
Cancel
Set
Accept
String(Box<StringStmt>)
Unstring(Box<Unstring>)
Inspect(Box<Inspect>)
Search(Box<Search>)
NextSentence
NEXT SENTENCE: control passes to the statement after the next separator period.
SentenceEnd
A separator period in the PROCEDURE DIVISION: where NEXT SENTENCE resumes.
Exec(Box<ExecBlock>)
Report(Box<ReportStmt>)
Invoke(Box<Invoke>)
ExitMethod
Sorting(Box<Sorting>)
StopRun
Continue
Exit
Trait Implementations§
impl Eq for Stmt
impl StructuralPartialEq for Stmt
Auto Trait Implementations§
impl Freeze for Stmt
impl RefUnwindSafe for Stmt
impl Send for Stmt
impl Sync for Stmt
impl Unpin for Stmt
impl UnsafeUnpin for Stmt
impl UnwindSafe for Stmt
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