(
( infix "*" "+" "-" "/" div ",")
( infix "=" "#" "<" ">" le ge )
( infix and or rel)
( infix ";" ":=" "||" "->" st para cong perp)
( infix "==" ":" "." )
( prefix all some "-" not)
( prefix proc pred func)
( openfix "(" ")" "[" "]" if fi do od )
( rightfix "(" ")" )


(S (1 proc ProcDef) (2 pred PredDef) (3 func FunDef))

(ProcDef (4 ProcDef1 "==" Command))

(ProcDef1 (5 Varlist ":" ProcDef2) (67465 ProcDef2))

(ProcDef2 (6 ProcID "(" Varlist ")") (3984756 ProcID))


(PredDef (7 PredDef1 "==" Formula))

(PredDef1 (8 PredID "(" Varlist ")"))

(FunDef (9 FunDef1 "==" Formula))

(FunDef1 (10 FunDef2 "=" VarID))

(FunDef2 (11 FunID "(" Varlist ")") (984735 FunID))

(Varlist (12 VarID) (13 VarID "," Varlist))

(SimpleCommand (14 if GClist fi) (15 do GClist od) (16 Skip) (17 Abort)
(18 Varlist ":=" Termlist) (19 Varlist st Formula)
    (20 Varlist ":" Command2) (300 Command2))
    
(Command (21 SimpleCommand) (22 SimpleCommand ";" Command))

(Command3 (301 Varlist ":" Command4))

(Command4 (302 CedarProc "(" Termlist ")"))

(CedarProc (303 VarID "." VarID))
   
(Command2 (24 ProcID "(" Termlist ")" ))

(GClist (25 GC) (26 GC "||" GClist))

(GC (27 Formula "->" Command) (28 GC1 "->" Command))

(GC1 (29 Varlist ":" Formula))

(SimpleFormula (30 AtomicFormula)
(32 "(" Formula3 ")") (33 "(" Formula ")"))

(Formula4 (23 SimpleFormula) (31 SimpleFormula and Formula4))

(Formula (102 Formula4) )

(Formula2 (34 Varlist ":" Formula))

(Formula3 (100 some Formula2))

(AtomicFormula
(35 Term "<" Term)
(36 Term ">" Term)
(37 Term le Term)
(38 Term ge Term)
(39 Term "=" Term)
(40 Term "#" Term)
(41 Term para Term)
(42 Term cong Term)
(43 Term perp Term)
(101 PredID "(" Termlist ")")
(300 T)
(301 F))

(Termlist (44 Term) (45 Term "," Termlist))

(Term (46 Term5) (47 Term6) (48 "-" TermY))

(Term2 (49 Term "," Term))

(TermX (50 VarID)
(51 FunID "(" Termlist ")")
(52 Constant)
(53 "(" Term ")")
(54 "(" Term2 ")")
(55 "[" Termlist "]"))

(Term3 (56 TermX) (57 TermX "*" Term3))

(Term4 (58 TermX) (59 TermX "/" TermX))

(TermY (60 Term3) (61 Term4))

(Term5 (62 TermY) (63 TermY "+" Term5))

(Term6 (64 TermY) (65 TermY "-" TermY))

(VarID (66 id))

(ProcID (67 id))

(FunID (68 id))

(PredID (69 id))

(Constant (70 Int) (342398 Real) (298374 Rope))

)