repeatRepeatContraction {
\schemaVar \term RegEx rexp ;
\schemaVar \term int nTimes1 , nTimes2 ;
\find ( repeat ( repeat ( rexp , nTimes1 ), nTimes2 ))
\replacewith ( \if ( nTimes1 >= 0 & nTimes2 >= 0 )\then ( repeat ( rexp , nTimes1 * nTimes2 ))\else ( repeat ( repeat ( rexp , nTimes1 ), nTimes2 )))
\heuristics (concrete )
};
defined in: regExLemma.key Line: 7 Offset :4concatRepeatContraction1 {
\schemaVar \term RegEx rexp ;
\schemaVar \term int nTimes1 , nTimes2 ;
\find ( regExConcat ( repeat ( rexp , nTimes1 ), repeat ( rexp , nTimes2 )))
\replacewith ( \if ( nTimes1 >= 0 & nTimes2 >= 0 )\then ( repeat ( rexp , nTimes1 + nTimes2 ))\else ( regExConcat ( repeat ( rexp , nTimes1 ), repeat ( rexp , nTimes2 ))))
\heuristics (concrete )
};
defined in: regExLemma.key Line: 20 Offset :4concatRepeatContraction2 {
\schemaVar \term RegEx rexp ;
\schemaVar \term int nTimes ;
\find ( regExConcat ( repeat ( rexp , nTimes ), rexp ))
\replacewith ( \if ( nTimes >= 0 )\then ( repeat ( rexp , nTimes + 1 ))\else ( regExConcat ( repeat ( rexp , nTimes ), rexp )))
\heuristics (concrete )
};
defined in: regExLemma.key Line: 33 Offset :4concatRepeatContraction2Sym {
\schemaVar \term RegEx rexp ;
\schemaVar \term int nTimes ;
\find ( regExConcat ( rexp , repeat ( rexp , nTimes )))
\replacewith ( \if ( nTimes >= 0 )\then ( repeat ( rexp , nTimes + 1 ))\else ( regExConcat ( rexp , repeat ( rexp , nTimes ))))
\heuristics (concrete )
};
defined in: regExLemma.key Line: 46 Offset :4