/* ------------------------------------------------------------------------ */ /* */ /* [estyx.abs] Abstract Grammar */ /* */ /* ------------------------------------------------------------------------ */ LANGUAGE estyx TOKENS Ide, Set, Seq TYPES estyx = Start_Source(Source) Source = root(Ide, QlxDfn*, Dfn*) QlxDfn = defn(QlxCat, QlxOpt, Ide, Exp) QlxCat = letC; comC; ignC; tokC QlxOpt = non; ignca Exp = range(Exp, Exp); opt(Exp); union(Exp, Exp); conc(Exp, Exp); plus(Exp); ident(Ide); diff(Exp, Exp); sequ(Seq); set(Set); star(Exp) Dfn = defn(Cat, Ide, Prd*) Cat = letC; bgnC Prd = prod(Ide, Mbr*) Mbr = tkm(Seq); ntm(Form) Form = one(Form, Seq*); ide(Ide); nul(Seq*, Form, Seq*, Seq*)