\begin{ebnf}[caption=Syntaxe concrète de la construction \lex{\%transformation}.,label=transformationConstructSyntax] TransformationConstruct ::= '%transformation' TransformationName '('[TransformationArguments]')' ':' FileName '->' FileName '{' (Definition)+ '}' TransformationArguments ::= SubjectName ':' AlgebraicType ( ',' SubjectName ':' AlgebraicType )* Definition ::= 'definition' DefinitionName 'traversal' Strategy '{' (DefinitionRule)+ '}' DefinitionRule ::= Pattern '->' '{' BlockList '}' \end{ebnf} %Strategy AlgebraicType BlockList Pattern %| AlgebraicType SubjectName ( ',' AlgebraicType SubjectName )*