-
Notifications
You must be signed in to change notification settings - Fork 11
Mapping
VladD2 edited this page Jul 7, 2016
·
5 revisions
| MapSyntax = "map" sm "syntax" sm RuleName=QualifiedReference ParametersOpt=MapSyntaxParameters? sm "->" sm AstName=NitraType MapSyntaxBody
syntax MapSyntaxParameters = "(" (RuleMethodParam; "," sm)* ")"
syntax RuleMethodParam = Name sm ":" sm Type=NitraType
syntax MapSyntaxBody
{
| Empty = ";" nl
| Expression1 = outline_begin_before nl "{" inl Expr=MapSyntaxExpression nl d "}" outline_end_before nl
| Expression2 = sm "->" inl Expr=MapSyntaxExpression nl d
| Inline = sm "=" inl Code=MapSyntaxCode d
| Extensions = outline_begin_before nl OpenBrace="{" inl Extensions=MapExtension+ d CloseBrace="}" outline_end_before nl
{
syntax MapExtension = "|" sm Reference Body=MapSyntaxBody
}
| PerMember = outline_begin_before nl OpenBrace="{" inl Members=MapSyntaxExpressionAstMember* d CloseBrace="}" outline_end_before nl
}