Previous Contents

B   Abstrakte Syntax

program ::= chans : chandec list
    procs : process list
process ::= vars : vardec list
    body : transition list
transition ::= source : astate
    target : astate
    lab : label
label ::= guard : expr
    act : action
action ::=     tau
  |     input_action
  |     output_action
  |     assign_action
astate ::=     initstate
  |     state
state ::= name : string
    assert : expr
initstate ::= name : string
    assert : expr
expr ::=     b_expr
  |     u_expr
  |     constval
  |     variable
b_expr : left_expr : expr
    right_expr : expr
    op : operand
u_expr : sub_expr : expr
    op : operand
operand ::= PLUS |MINUS |TIMES |DIV
  | AND |OR |NEG
input_action ::= chan : string
    var : variable
  |  
output_action ::= chan : string
    val : expr
assign_action ::= var : variable
  | val : expr
vardec ::= var : variable
chandec ::= chan : string
variable ::= name : string
constval ::=     b_val
  |     i_val
b_val ::=     bool
i_val ::=     int

©Public License
Previous Contents