ruler-0.4.0.0: src/Expr/AbsSynAG.cag
%%[1 ag
-------------------------------------------------------------------------
-- Expr AST
-------------------------------------------------------------------------
-------------------------------------------------------------------------
-- Interfacing
-------------------------------------------------------------------------
DATA AGExprItf
| AGItf expr : Expr
-------------------------------------------------------------------------
-- Expr
-------------------------------------------------------------------------
DATA Expr
| AppTop expr : Expr
| App lExpr : Expr
rExpr : Expr
| Op nm : {Nm}
nmExpr : Expr
lExpr : Expr
rExpr : Expr
| LF lExpr : Expr
rExpr : Expr
| SP lExpr : Expr
rExpr : Expr
| Var nm : {Nm}
| AVar anm : ANm
| Int int : {String}
| StrText str : {String}
| StrAsIs str : {String}
| Named nm : {Nm}
expr : Expr
| Wrap wrKind : {WrKind}
expr : Expr
| Cnstr expr : Expr
cnstr : ECnstr
| WrapCnstr cnstr : ECnstr
| Paren expr : Expr
| Retain expr : Expr
| Expr expr : Expr
| SelTop expr : Expr
| Sel expr : Expr
selMbExpr : MbExpr
| ChildOrder seqNr : {Int}
expr : Expr
| Uniq
| Empty
| Undefined
TYPE MbExpr = MAYBE Expr
-------------------------------------------------------------------------
-- ANm
-------------------------------------------------------------------------
DATA ANm
| Wild
| Loc nm : {Nm}
props : {[AtProp]}
| Lhs nm : {Nm}
props : {[AtProp]}
| Fld nm : {Nm}
| Node ndNm : {Nm}
nm : {Nm}
-------------------------------------------------------------------------
-- Expr constraint
-------------------------------------------------------------------------
DATA ECnstr
| Ty nms : {[Nm]}
| Var nm : {Nm}
| Empty
-------------------------------------------------------------------------
-- Sets
-------------------------------------------------------------------------
SET AllExprButANm = Expr MbExpr ECnstr
SET AllExpr = AllExprButANm ANm
%%]