Exp: AbstractType [ foo ];
for
Exp.sum:
AbstractProduction [ Exp.left, AddOp, Exp.right ]
;
for
Exp.unarysum:
AbstractProduction [ AddOp, Exp ]
;
for
Exp.product:
AbstractProduction [ Exp.left, MultOp, Exp.right ]
;
for
Exp.or:
AbstractProduction [ Exp.left, Exp.right ]
;
for
Exp.and:
AbstractProduction [ Exp.left, Exp.right ]
;
for
Exp.not:
AbstractProduction [ Exp ]
;
for
Exp.relation:
AbstractProduction [ Exp, Relation ]
;
for
Exp.ifthenelse:
AbstractProduction [ Exp.cond, Exp.thenpart, Exp.elsepart ]
;
for
Exp.select:
AbstractProduction [ SelectHead, SelectExpList, Exp.default ]
;
for
Exp.assign:
AbstractProduction [ Exp.lhs, Exp.rhs ]
;
for
Exp.multiassign:
AbstractProduction [ ExpList, Exp ]
;
for
Exp.id:
AbstractProduction [ Id ]
;
for
Exp.num:
AbstractProduction [ Num ]
;
for
Exp.string:
AbstractProduction [ String ]
;
for
Exp.flnum:
AbstractProduction [ Flnum ]
;
for
Exp.char:
AbstractProduction [ Char ]
;
for
Exp.atom:
AbstractProduction [ Atom ]
;
for
Exp.narrow:
AbstractProduction [ Exp, OptType, Catch ]
;
for
Exp.loophole:
AbstractProduction [ Exp, OptType ]
;
for
Exp.apply:
AbstractProduction [ Exp.rator, Exp.rand, Catch ]
;
for
Exp.qualifier:
AbstractProduction [ Exp, Qualifier ]
;
for
Exp.explist:
AbstractProduction [ ExpList ]
;
for
Exp.prefixop:
AbstractProduction [ PrefixOp, OrderList ]
;
for
Exp.val:
AbstractProduction [ OrderList ]
;
for
Exp.all:
AbstractProduction [ OrderList ]
;
for
Exp.new:
AbstractProduction [ New, TypeExp, Initialization, Catch ]
;
for
Exp.cons:
AbstractProduction [ Cons, ExpList, Catch ]
;
for
Exp.listcons:
AbstractProduction [ ListCons, ExpList ]
;
for
Exp.nil:
AbstractProduction [ ]
;
for
Exp.typeop:
AbstractProduction [ TypeOp, TypeExp ]
;
for
Exp.size:
AbstractProduction [ TypeExp ]
;
for
Exp.size2:
AbstractProduction [ TypeExp, Exp ]
;
for
Exp.istype:
AbstractProduction [ Exp, TypeExp ]
;
for
Exp.address:
AbstractProduction [ Exp ]
;
for
Exp.descriptor:
AbstractProduction [ DescList ]
;
for
Exp.error:
AbstractProduction [ ]
;
for
Exp.transfer:
AbstractProduction [ TransferOp, Exp ]
;