File Xlabel.html    Author McKeeman    Copyright © 2007

X grammar rules                    unique rule labels
---------------                    --------------
program
  stmts eof                        program1
stmts
  stmt                             stmts1
  stmts ; stmt                     stmts2
stmt
                                   stmt1
  selection                        stmt2
  iteration                        stmt3
  assignment                       stmt4
selection
  if alts fi                       selection1
iteration
  do alts od                       iteration1
alts
  alt                              alts1
  alts :: alt                      alts2
alt
  guard ? stmts                    alt1
guard
  expr                             guard1
assignment
  vars := exprs                    assignment1
  vars := subprogram := exprs      assignment2
       := subprogram := exprs      assignment3
  vars := subprogram :=            assignment4
       := subprogram :=            assignment5
vars
  id                               vars1
  vars , id                        vars2
exprs
  expr                             exprs1
  exprs , expr                     exprs2
subprogram
  id                               subprogram1
expr
  disjunction                      expr1
disjunction
  conjunction                      disjunction1
  disjunction | conjunction        disjunction2
conjunction
  negation                         conjunction1
  conjunction & negation           conjunction2
negation
  relation                         negation1
  ~ relation                       negation2
relation
  sum                              relation1
  sum <  sum                       relation2
  sum <= sum                       relation3
  sum =  sum                       relation4
  sum ~= sum                       relation5
  sum >= sum                       relation6
  sum >  sum                       relation7
sum
  term                             sum1
  - term                           sum2
  sum + term                       sum3
  sum - term                       sum4
term
  factor                           term1
  term * factor                    term2
  term / factor                    term3
  term // factor                   term4
factor
  true                             factor1
  false                            factor2
  integer                          factor3
  real                             factor4
  id                               factor5
  ( expr )                         factor6
  b2i factor                       factor7
  i2r factor                       factor8
  r2i factor                       factor9
  rand                             factor10