packages feed

ruler-0.4.0.0: src/TrfAS2/CommonAG.cag

%%[1 ag

-------------------------------------------------------------------------
-- Common for transformations on AS2
-------------------------------------------------------------------------

-------------------------------------------------------------------------
-- Replica
-------------------------------------------------------------------------

ATTR AGItf [ | | self: {Decls} ]
ATTR AllAS2 [ | | self: SELF ]

-------------------------------------------------------------------------
-- Context: scGam, fmGam, rwGam
-------------------------------------------------------------------------

ATTR AllAS2 AGItf [ scGam: {ScGam Expr}  fmGam: {FmGam Expr}  rwGam: RwExprGam | | ]

-------------------------------------------------------------------------
-- Context: options, etc
-------------------------------------------------------------------------

ATTR AllAS2 [ fm: FmKind | | ]

SEM AGItf
  | AGItf           loc     .   fm          =   fmAS2Fm (optGenFM @lhs.opts)
                            .   opts        =   @lhs.opts {optGenFM = @fm}

-------------------------------------------------------------------------
-- Context: ruleset/view/rule name, agStr
-------------------------------------------------------------------------

ATTR AllVw AllRl [ rsScNm: Nm | | ]

SEM RsVwDecl
  | Rs              loc     .   rsScNm      =   @scNm

ATTR AllRl AllJd [ vwNm: Nm | | ]

SEM VwDecl
  | Vw LTX          loc     .   vwNm        =   @nm

ATTR AllJd [ rlNm: Nm | | ]

SEM RlDecl
  | Rl              loc     .   rlNm        =   @nm
  | LTX             loc     .   rlNm        =   @rlNm

-------------------------------------------------------------------------
-- Debug pretty printing of ruler AST2
-------------------------------------------------------------------------

ATTR AllAS2 AGItf [ | | ppDbg USE {>-<} {empty} : PP_Doc ]

-------------------------------------------------------------------------
-- Error
-------------------------------------------------------------------------

ATTR AllDecl AGItf [ | | errL USE {++} {[]}: {[Err]} ]

%%]