Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: transform/exbgf/extracted
Source used for this grammar: Vadim Zaytsev, Software Language Engineering by Intentional Rewriting, EC-EASST/SQM 2014 [Read]
sequence
), 1 root (sequence
), 0 top (—), 67 bottom (atomicH
, inlineV
, inlineU
, extract-twice
, shieldedD
, unfoldV
, unfold
, promoteY2S
, redefineH
, atomicC
, foldY
, addX
, narrowS21
, chainX
, massage12C
, widen12S
, deyaccifyH
, chainV
, extractV
, addV
, distributeV
, massageO2C
, massageC2O
, double-inline
, yaccifyH
, widen12P
, narrowP21
, massage-double
, narrowO21
, widen12O
, regroupLR
, removeV
, factor-out
, deyaccifyC
, renameN
, reextract
, tempunfold
, redefine
, shieldedU
, defineH
, massageOP2S
, atomicV
, reextractY
, atomic
, unite-many
, massage1S2P
, inlineYH
, shielded
, addH
, distributeH
, massageS12P
, regroupRL
, inlineYF
, pull-out
, unfoldY
, atomicI
, metachangeT2N
, massageC2S
, widenP2S
, promoteP2S
, inlineYO
, eliminate-many
, introduceH
, removeH
, extractC
, reyaccify
, inlineY
).sequence ::=atomic shielded shieldedD shieldedU tempunfold atomicI atomicC atomicH atomicV yaccifyH deyaccifyH deyaccifyC regroupLR regroupRL massage1S2P massageS12P massageC2S massage12C massageO2C massageC2O massage-double massageOP2S promoteP2S promoteY2S double-inline inlineYO inlineYF unite-many eliminate-many distributeV distributeH inlineY inlineYH inlineV inlineU chainV chainX introduceH defineH reyaccify reextract reextractY extract-twice redefine redefineH metachangeT2N renameN addV addH addX removeV removeH extractV extractC narrowS21 narrowP21 narrowO21 widen12O widen12S widen12P widenP2S unfoldV unfold unfoldY foldY factor-out pull-out