transformationSyntax.tex 710 B

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