%%[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]} ] %%]