Header menu logo F# Header menu logo Averest

UtyStmt Type

This data type implements untyped statements as generated by the parser. Each untyped statement stores also the line number where it has been parsed from for means of error reporting (if the type-checking should fail). In addition to the typical statements that also appear as Quartz statements, there some further statements that are eliminated by the type-checker:

  • UtyNothing,UtyAction,UtyPause,UtyConditional,UtySequence,UtyDoWhile, and UtyWhileDo should be self-explaining.
  • UtySyncParAnd(ln,S1,S2) is a synchronuous parallel execution of S1 and S2 that is active if both S1 and S2 are active.
  • UtySyncParOr(ln,S1,S2) is a synchronuous parallel execution of S1 and S2 that is active if at least one of S1 and S2 is active.
  • UtySuspend,UtySuspendW,UtySuspendI,UtySuspendWI are suspension statements, where weak and immediate variants are suffixed by W and I, respectively.
  • UtyAbort,UtyAbortW,UtyAbortI,UtyAbortWI are abortion statements, where weak and immediate variants are suffixed by W and I, respectively.
  • UtyDuring,UtyDuringF,UtyDuringI,UtyDuringIF are the four variants of during statement. Note that during(S1,S2) executes the instantaneous statement S2 in each macro step where S1 executes. The four variants differ in that they include the initial and final steps also indicated by the I and F suffixes.
  • UtyLetDec(ln,[(x1,e1);...;(xN,eN)],S) declares local variables xi that are identified with expressions ei in the statement S.
  • UtyLocDec(ln,[(x1,d1);...;(xN,dN)],S) declares local variables xi having declaration di for statement S.
  • UtyModuleCall(ln,i,m,argL) is a module call to module m with argument list argL, and the name of this call is i (i and m are indices of the NameTable).
  • UtyContFlow(ln,w1,w2,S,sigma) is a flow statement to define the continuous evolution of a hybrid system via the actions in S until the condition sigma holds (which terminates the continuous phase).
  • UtyGen* are generic statements that are given a triple (ln,generic,S), where generic is a tuple (xn,min,max). The meaning is that first instances [Smin;...;Smax] are generated by replacing variable xn in S by the nat constants min;...;max, and these statements are combined as a sequence, synchronous parallel, etc. according to the operator.
  • UtyCaseStmt(ln,[(b1,S1);...;(bN,SN)],S) represents a case statement that executes Si when bi holds, and S if none of the Si holds. It only executes the first Si whose bi is true.
  • UtyAsyncParOr(ln,S1,S2) implements an asynchronous parallel execution that executes either one step of S1, or one step of S2 or steps of both S1 and S2 in common. The statement is active as long as one of the two statements is active.
  • UtyAsyncParAnd(ln,S1,S2) implements an asynchronous parallel execution that executes either one step of S1, or one step of S2 or steps of both S1 and S2 in common. The statement is active as long as both of the two statements are active.
  • UtyInterleaveOr(ln,S1,S2) implements an interleaved parallel execution that executes either one step of S1 or one step of S2. The statement is active as long as one of the two statements are active.
  • UtyInterleaveAnd(ln,S1,S2) implements an interleaved parallel execution that executes either one step of S1 or one step of S2. The statement is active as long as both of the two statements are active.
  • UtyChoice(ln,S1,S2) nondeterministically (and dynamically) chooses that executes Si when bi holds, and S if none of the Si holds. It only between S1 and S2.
  • UtyGenContFlow(ln,rl,cl,actL,sigma) is a generic flow statement with action list actL and optional release condition sigma. Note that only the action list is unrolled, and packed into a flow statement having the same rl,cl, and sigma.
  • UtyHalt is Esterel's halt statement.
  • UtyLoop(ln,S) infinitely often repeats the execution of S.
  • UtyLoopEach and UtyEveryDo are Esterel's loop S each(b) and every-loop.
  • UtyAwait and UtyAwaitI are the await statements that stop the control and wait until the given condition holds. The immediate form is UtyAwaitI. Both statements therefore define a new control flow location.
  • UtyAlways(ln,qn,S) abbreviates UtyLoop(ln,UtySequence(ln,UtyPause(ln,qn),S))
  • UtyAlwaysI(ln,qn,S) abbreviates UtyLoop(ln,UtySequence(ln,S,UtyPause(ln,qn)))

Union cases

Union case Description

UtyAbort LineNr * UtyStmt * UtyExpr

Full Usage: UtyAbort LineNr * UtyStmt * UtyExpr

Parameters:
Item : LineNr * UtyStmt * UtyExpr

UtyAbortI LineNr * UtyStmt * UtyExpr

Full Usage: UtyAbortI LineNr * UtyStmt * UtyExpr

Parameters:
Item : LineNr * UtyStmt * UtyExpr

UtyAbortW LineNr * UtyStmt * UtyExpr

Full Usage: UtyAbortW LineNr * UtyStmt * UtyExpr

Parameters:
Item : LineNr * UtyStmt * UtyExpr

UtyAbortWI LineNr * UtyStmt * UtyExpr

Full Usage: UtyAbortWI LineNr * UtyStmt * UtyExpr

Parameters:
Item : LineNr * UtyStmt * UtyExpr

UtyAction LineNr * UtyAction

Full Usage: UtyAction LineNr * UtyAction

Parameters:
Item : LineNr * UtyAction

UtyAlways LineNr * QName * UtyStmt

Full Usage: UtyAlways LineNr * QName * UtyStmt

Parameters:
Item : LineNr * QName * UtyStmt

UtyAlwaysI LineNr * QName * UtyStmt

Full Usage: UtyAlwaysI LineNr * QName * UtyStmt

Parameters:
Item : LineNr * QName * UtyStmt

UtyAsyncParAnd LineNr * UtyStmt * UtyStmt

Full Usage: UtyAsyncParAnd LineNr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyStmt * UtyStmt

UtyAsyncParOr LineNr * UtyStmt * UtyStmt

Full Usage: UtyAsyncParOr LineNr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyStmt * UtyStmt

UtyAwait LineNr * QName * UtyExpr

Full Usage: UtyAwait LineNr * QName * UtyExpr

Parameters:
Item : LineNr * QName * UtyExpr

UtyAwaitI LineNr * QName * UtyExpr

Full Usage: UtyAwaitI LineNr * QName * UtyExpr

Parameters:
Item : LineNr * QName * UtyExpr

UtyCaseStmt LineNr * (UtyExpr * UtyStmt) list * UtyStmt

Full Usage: UtyCaseStmt LineNr * (UtyExpr * UtyStmt) list * UtyStmt

Parameters:
Item : LineNr * (UtyExpr * UtyStmt) list * UtyStmt

UtyChoice LineNr * UtyStmt * UtyStmt

Full Usage: UtyChoice LineNr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyStmt * UtyStmt

UtyConditional LineNr * UtyExpr * UtyStmt * UtyStmt

Full Usage: UtyConditional LineNr * UtyExpr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyExpr * UtyStmt * UtyStmt

UtyContFlow LineNr * QName * QName * UtyAction list * UtyExpr option

Full Usage: UtyContFlow LineNr * QName * QName * UtyAction list * UtyExpr option

Parameters:
Item : LineNr * QName * QName * UtyAction list * UtyExpr option

UtyDoWhile LineNr * UtyStmt * UtyExpr

Full Usage: UtyDoWhile LineNr * UtyStmt * UtyExpr

Parameters:
Item : LineNr * UtyStmt * UtyExpr

UtyDuring LineNr * UtyStmt * UtyStmt

Full Usage: UtyDuring LineNr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyStmt * UtyStmt

UtyDuringF LineNr * UtyStmt * UtyStmt

Full Usage: UtyDuringF LineNr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyStmt * UtyStmt

UtyDuringI LineNr * UtyStmt * UtyStmt

Full Usage: UtyDuringI LineNr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyStmt * UtyStmt

UtyDuringIF LineNr * UtyStmt * UtyStmt

Full Usage: UtyDuringIF LineNr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyStmt * UtyStmt

UtyEveryDo LineNr * QName * QName * UtyExpr * UtyStmt

Full Usage: UtyEveryDo LineNr * QName * QName * UtyExpr * UtyStmt

Parameters:
Item : LineNr * QName * QName * UtyExpr * UtyStmt

UtyGenAsyncParAnd LineNr * Generic * UtyStmt

Full Usage: UtyGenAsyncParAnd LineNr * Generic * UtyStmt

Parameters:
Item : LineNr * Generic * UtyStmt

UtyGenAsyncParOr LineNr * Generic * UtyStmt

Full Usage: UtyGenAsyncParOr LineNr * Generic * UtyStmt

Parameters:
Item : LineNr * Generic * UtyStmt

UtyGenChoice LineNr * Generic * UtyStmt

Full Usage: UtyGenChoice LineNr * Generic * UtyStmt

Parameters:
Item : LineNr * Generic * UtyStmt

UtyGenContFlow LineNr * QName * QName * Generic * UtyAction list * UtyExpr option

Full Usage: UtyGenContFlow LineNr * QName * QName * Generic * UtyAction list * UtyExpr option

Parameters:
Item : LineNr * QName * QName * Generic * UtyAction list * UtyExpr option

UtyGenInterleaveAnd LineNr * Generic * UtyStmt

Full Usage: UtyGenInterleaveAnd LineNr * Generic * UtyStmt

Parameters:
Item : LineNr * Generic * UtyStmt

UtyGenInterleaveOr LineNr * Generic * UtyStmt

Full Usage: UtyGenInterleaveOr LineNr * Generic * UtyStmt

Parameters:
Item : LineNr * Generic * UtyStmt

UtyGenSequence LineNr * Generic * UtyStmt

Full Usage: UtyGenSequence LineNr * Generic * UtyStmt

Parameters:
Item : LineNr * Generic * UtyStmt

UtyGenSyncParAnd LineNr * Generic * UtyStmt

Full Usage: UtyGenSyncParAnd LineNr * Generic * UtyStmt

Parameters:
Item : LineNr * Generic * UtyStmt

UtyGenSyncParOr LineNr * Generic * UtyStmt

Full Usage: UtyGenSyncParOr LineNr * Generic * UtyStmt

Parameters:
Item : LineNr * Generic * UtyStmt

UtyHalt LineNr * QName

Full Usage: UtyHalt LineNr * QName

Parameters:
Item : LineNr * QName

UtyInterleaveAnd LineNr * UtyStmt * UtyStmt

Full Usage: UtyInterleaveAnd LineNr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyStmt * UtyStmt

UtyInterleaveOr LineNr * UtyStmt * UtyStmt

Full Usage: UtyInterleaveOr LineNr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyStmt * UtyStmt

UtyLetDec LineNr * (QName * UtyExpr) list * UtyStmt

Full Usage: UtyLetDec LineNr * (QName * UtyExpr) list * UtyStmt

Parameters:
Item : LineNr * (QName * UtyExpr) list * UtyStmt

UtyLocDec LineNr * Interface * UtyStmt

Full Usage: UtyLocDec LineNr * Interface * UtyStmt

Parameters:
Item : LineNr * Interface * UtyStmt

UtyLoop LineNr * UtyStmt

Full Usage: UtyLoop LineNr * UtyStmt

Parameters:
Item : LineNr * UtyStmt

UtyLoopEach LineNr * QName * UtyExpr * UtyStmt

Full Usage: UtyLoopEach LineNr * QName * UtyExpr * UtyStmt

Parameters:
Item : LineNr * QName * UtyExpr * UtyStmt

UtyModuleCall LineNr * Index * Index * Arguments

Full Usage: UtyModuleCall LineNr * Index * Index * Arguments

Parameters:
Item : LineNr * Index * Index * Arguments

UtyNothing LineNr

Full Usage: UtyNothing LineNr

Parameters:
Item : LineNr

UtyPause LineNr * QName

Full Usage: UtyPause LineNr * QName

Parameters:
Item : LineNr * QName

UtySequence LineNr * UtyStmt * UtyStmt

Full Usage: UtySequence LineNr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyStmt * UtyStmt

UtySuspend LineNr * UtyStmt * UtyExpr

Full Usage: UtySuspend LineNr * UtyStmt * UtyExpr

Parameters:
Item : LineNr * UtyStmt * UtyExpr

UtySuspendI LineNr * QName * UtyStmt * UtyExpr

Full Usage: UtySuspendI LineNr * QName * UtyStmt * UtyExpr

Parameters:
Item : LineNr * QName * UtyStmt * UtyExpr

UtySuspendW LineNr * UtyStmt * UtyExpr

Full Usage: UtySuspendW LineNr * UtyStmt * UtyExpr

Parameters:
Item : LineNr * UtyStmt * UtyExpr

UtySuspendWI LineNr * QName * UtyStmt * UtyExpr

Full Usage: UtySuspendWI LineNr * QName * UtyStmt * UtyExpr

Parameters:
Item : LineNr * QName * UtyStmt * UtyExpr

UtySyncParAnd LineNr * UtyStmt * UtyStmt

Full Usage: UtySyncParAnd LineNr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyStmt * UtyStmt

UtySyncParOr LineNr * UtyStmt * UtyStmt

Full Usage: UtySyncParOr LineNr * UtyStmt * UtyStmt

Parameters:
Item : LineNr * UtyStmt * UtyStmt

UtyWhileDo LineNr * UtyExpr * UtyStmt

Full Usage: UtyWhileDo LineNr * UtyExpr * UtyStmt

Parameters:
Item : LineNr * UtyExpr * UtyStmt

Instance members

Instance member Description

this.IsUtyAbort

Full Usage: this.IsUtyAbort

Returns: bool
Returns: bool

this.IsUtyAbortI

Full Usage: this.IsUtyAbortI

Returns: bool
Returns: bool

this.IsUtyAbortW

Full Usage: this.IsUtyAbortW

Returns: bool
Returns: bool

this.IsUtyAbortWI

Full Usage: this.IsUtyAbortWI

Returns: bool
Returns: bool

this.IsUtyAction

Full Usage: this.IsUtyAction

Returns: bool
Returns: bool

this.IsUtyAlways

Full Usage: this.IsUtyAlways

Returns: bool
Returns: bool

this.IsUtyAlwaysI

Full Usage: this.IsUtyAlwaysI

Returns: bool
Returns: bool

this.IsUtyAsyncParAnd

Full Usage: this.IsUtyAsyncParAnd

Returns: bool
Returns: bool

this.IsUtyAsyncParOr

Full Usage: this.IsUtyAsyncParOr

Returns: bool
Returns: bool

this.IsUtyAwait

Full Usage: this.IsUtyAwait

Returns: bool
Returns: bool

this.IsUtyAwaitI

Full Usage: this.IsUtyAwaitI

Returns: bool
Returns: bool

this.IsUtyCaseStmt

Full Usage: this.IsUtyCaseStmt

Returns: bool
Returns: bool

this.IsUtyChoice

Full Usage: this.IsUtyChoice

Returns: bool
Returns: bool

this.IsUtyConditional

Full Usage: this.IsUtyConditional

Returns: bool
Returns: bool

this.IsUtyContFlow

Full Usage: this.IsUtyContFlow

Returns: bool
Returns: bool

this.IsUtyDoWhile

Full Usage: this.IsUtyDoWhile

Returns: bool
Returns: bool

this.IsUtyDuring

Full Usage: this.IsUtyDuring

Returns: bool
Returns: bool

this.IsUtyDuringF

Full Usage: this.IsUtyDuringF

Returns: bool
Returns: bool

this.IsUtyDuringI

Full Usage: this.IsUtyDuringI

Returns: bool
Returns: bool

this.IsUtyDuringIF

Full Usage: this.IsUtyDuringIF

Returns: bool
Returns: bool

this.IsUtyEveryDo

Full Usage: this.IsUtyEveryDo

Returns: bool
Returns: bool

this.IsUtyGenAsyncParAnd

Full Usage: this.IsUtyGenAsyncParAnd

Returns: bool
Returns: bool

this.IsUtyGenAsyncParOr

Full Usage: this.IsUtyGenAsyncParOr

Returns: bool
Returns: bool

this.IsUtyGenChoice

Full Usage: this.IsUtyGenChoice

Returns: bool
Returns: bool

this.IsUtyGenContFlow

Full Usage: this.IsUtyGenContFlow

Returns: bool
Returns: bool

this.IsUtyGenInterleaveAnd

Full Usage: this.IsUtyGenInterleaveAnd

Returns: bool
Returns: bool

this.IsUtyGenInterleaveOr

Full Usage: this.IsUtyGenInterleaveOr

Returns: bool
Returns: bool

this.IsUtyGenSequence

Full Usage: this.IsUtyGenSequence

Returns: bool
Returns: bool

this.IsUtyGenSyncParAnd

Full Usage: this.IsUtyGenSyncParAnd

Returns: bool
Returns: bool

this.IsUtyGenSyncParOr

Full Usage: this.IsUtyGenSyncParOr

Returns: bool
Returns: bool

this.IsUtyHalt

Full Usage: this.IsUtyHalt

Returns: bool
Returns: bool

this.IsUtyInterleaveAnd

Full Usage: this.IsUtyInterleaveAnd

Returns: bool
Returns: bool

this.IsUtyInterleaveOr

Full Usage: this.IsUtyInterleaveOr

Returns: bool
Returns: bool

this.IsUtyLetDec

Full Usage: this.IsUtyLetDec

Returns: bool
Returns: bool

this.IsUtyLocDec

Full Usage: this.IsUtyLocDec

Returns: bool
Returns: bool

this.IsUtyLoop

Full Usage: this.IsUtyLoop

Returns: bool
Returns: bool

this.IsUtyLoopEach

Full Usage: this.IsUtyLoopEach

Returns: bool
Returns: bool

this.IsUtyModuleCall

Full Usage: this.IsUtyModuleCall

Returns: bool
Returns: bool

this.IsUtyNothing

Full Usage: this.IsUtyNothing

Returns: bool
Returns: bool

this.IsUtyPause

Full Usage: this.IsUtyPause

Returns: bool
Returns: bool

this.IsUtySequence

Full Usage: this.IsUtySequence

Returns: bool
Returns: bool

this.IsUtySuspend

Full Usage: this.IsUtySuspend

Returns: bool
Returns: bool

this.IsUtySuspendI

Full Usage: this.IsUtySuspendI

Returns: bool
Returns: bool

this.IsUtySuspendW

Full Usage: this.IsUtySuspendW

Returns: bool
Returns: bool

this.IsUtySuspendWI

Full Usage: this.IsUtySuspendWI

Returns: bool
Returns: bool

this.IsUtySyncParAnd

Full Usage: this.IsUtySyncParAnd

Returns: bool
Returns: bool

this.IsUtySyncParOr

Full Usage: this.IsUtySyncParOr

Returns: bool
Returns: bool

this.IsUtyWhileDo

Full Usage: this.IsUtyWhileDo

Returns: bool
Returns: bool

Type something to start searching.