packages feed

ruler-0.4.0.0: src/ARule/AbsSynAG.cag

%%[1 ag

-------------------------------------------------------------------------
-- Interfacing
-------------------------------------------------------------------------

DATA AGARuleItf
  | AGItf               rule        : ARule

-------------------------------------------------------------------------
-- Rule in AG form
-------------------------------------------------------------------------

DATA ARule
  | Rule                ndNmL       : {[Nm]}
                        rlNm        : {Nm}
                        info        : {[String]}
                        eqns        : AEqns

TYPE ARules = [ARule]

DATA AEqn
  | Eqn                 dest        : AEqnDest
                        val         : AExpr
  | Err                 expr        : Expr

TYPE AEqns = [AEqn]

DATA AExpr
  | Expr                expr        : Expr

DATA AEqnDest
  | One                 anm         : ANm
  | Many                dests       : AEqnDests

TYPE AEqnDests = [AEqnDest]

SET AllARuleEqn = AEqn AEqns

SET AllARuleRule = ARule ARules

SET AllARuleButARule = AllARuleEqn AExpr AEqnDest AEqnDests

SET AllARule = AllARuleRule AllARuleButARule

%%]