Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/MTRANS/extracted
Source used for this grammar: Hugo Brunelière, MTRANS 0.1, MTRANS.ecore
, 2005/08/10
MetaClass
, MetaModel
, Module
, Rule
, Inheritance
, Expression
, Section
, Instruction
, Variable
, Boolean
, String
), 0 root (—), 0 top (—), 0 bottom (—).[name]
3, [mode]
, [metaDest]
, [metaSource]
, [rules]
, [isAbstract]
, [isEntryPoint]
, [module]
, [target]
, [source]
, [declaration]
, [sections]
, [guard]
, [inheritances]
, [rule]
4, [expressions]
, [inheritedRules]
, [operator]
, [inheritance]
, [instruction]
, [kind]
, [instructions]
, [body]
, [section]
.MetaClass ::= ε
MetaModel ::= ε
Module ::= [name]::String [mode]::String [metaDest]::MetaModel[metaSource]::MetaModel [rules]::Rule
Rule ::= [isAbstract]::Boolean [isEntryPoint]::Boolean [name]::String [module]::Module [target]::MetaClass [source]::MetaClass [declaration]::Variable [sections]::Section[guard]::Expression [inheritances]::Inheritance
Inheritance ::= [rule]::Rule [expressions]::Expression[inheritedRules]::Rule
Expression ::= [operator]::String [inheritance]::Inheritance [rule]::Rule [instruction]::Instruction
Section ::=
[kind]::String [rule]::Rule [instructions]::Instruction
Instruction ::= [body]::Expression [section]::Section
Variable ::= [name]::String [rule]::Rule
Boolean ::= "true" "false"
String ::= string