Averest


StmtC Type

These are the statements of the MiniC language (further information about the syntax can be found in the reference card MiniC reference card.)

  • Nothing is an empty statement for some code transformations.
  • SglAssign(lhs,rhs) is an assignment to one machine word lhs.
  • DblAssign(lhs1,lhs2,rhs) is an assignment to two machine words lhs1,lhs2. Only the topmost operator of rhs is evaluated in double precision this way and then assigned to lhs11@lhs2.
  • AssertMC(b) is an assertion of condition b.
  • FunCall(f,[|e1,...,en|]) is the call of function f with argument expressions e1,...,en.
  • Sequence(s1,s2) is the sequential execution of s1 and s2.
  • IfThenElse(b,s1,s2) executes s1 if b holds, otherwise s2.
  • WhileDo(b,s) executes s while b holds, checking b at first.
  • DoWhile(s,b) executes s while b holds, ignoring b at first.
  • ForLoop(i,min,max,s) is a for loop with loop variable i and body s where the loop variable starts with min and ends with max.
  • LocDec(decls,s) declares local variables for the scope s.
  • Return(e) returns the value of the expression e as the result of a MiniC function.
  • CSync synchronizes MiniC threads, i.e., a thread will wait here until its assignments to global variables become visible to other the other threads.

Union cases

Union case Description

AssertMC ExprC

Full Usage: AssertMC ExprC

Parameters:

Item : ExprC

CSync

Full Usage: CSync

DblAssign(LhsExprC, LhsExprC, ExprC)

Full Usage: DblAssign(LhsExprC, LhsExprC, ExprC)

Parameters:

Item1 : LhsExprC
Item2 : LhsExprC
Item3 : ExprC

DoWhile(StmtC, ExprC)

Full Usage: DoWhile(StmtC, ExprC)

Parameters:

Item1 : StmtC
Item2 : ExprC

ForLoop(string, ExprC, ExprC, StmtC)

Full Usage: ForLoop(string, ExprC, ExprC, StmtC)

Parameters:

Item1 : string
Item2 : ExprC
Item3 : ExprC
Item4 : StmtC

FunCall(string, ExprC[])

Full Usage: FunCall(string, ExprC[])

Parameters:
    Item1 : string
    Item2 : ExprC[]

Item1 : string
Item2 : ExprC[]

IfThenElse(ExprC, StmtC, StmtC)

Full Usage: IfThenElse(ExprC, StmtC, StmtC)

Parameters:

Item1 : ExprC
Item2 : StmtC
Item3 : StmtC

LocDec((string * TypeC)[], StmtC)

Full Usage: LocDec((string * TypeC)[], StmtC)

Parameters:

Item1 : (string * TypeC)[]
Item2 : StmtC

Nothing

Full Usage: Nothing

Return ExprC option

Full Usage: Return ExprC option

Parameters:

Item : ExprC option

Sequence(StmtC, StmtC)

Full Usage: Sequence(StmtC, StmtC)

Parameters:

Item1 : StmtC
Item2 : StmtC

SglAssign(LhsExprC, ExprC)

Full Usage: SglAssign(LhsExprC, ExprC)

Parameters:

Item1 : LhsExprC
Item2 : ExprC

WhileDo(ExprC, StmtC)

Full Usage: WhileDo(ExprC, StmtC)

Parameters:

Item1 : ExprC
Item2 : StmtC

Instance members

Instance member Description

this.pp indent

Full Usage: this.pp indent

Parameters:
    indent : string

Returns: string

indent : string
Returns: string