
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/metasyntax/asfix-sdf/extracted
Source used for this grammar: Jurgen Vinju, Taeke Kooiker, asfix/syntax/*.sdf, February 2006 – March 2007
Tree, Attributes, Attrs, Attr, Associativity, Symbol, Symbols, CharRanges, CharRange, Args, Production), 0 root (—), 3 top (CharRanges, Args, Production), 4 bottom (StrCon, Annotation, ATerm, NatCon 3).[attributes] 2, [associativity], [aterm], [module-name], [symbol], [comma1] 2, [separator], [comma2] 2, [number], [integer], [character], [lhs], [rhs].Tree ::= Tree Annotation
Attributes ::=
"no-attrs"Attributes ::= "attrs" "(" [attributes]::Attrs ")"
Attrs ::= "[" Attr "," Attr "]"
Attr ::= "assoc" "(" [associativity]::Associativity ")"
Attr ::= "term" "(" [aterm]::ATerm ")"
Attr ::= "id" "(" [module-name]::StrCon ")"
Attr ::=
"bracket"Attr ::=
"reject"Attr ::=
"prefer"Attr ::=
"avoid"Associativity ::=
"left"Associativity ::=
"right"Associativity ::=
"assoc"Associativity ::=
"non-assoc"Symbol ::=
"empty"Symbol ::= "iter-sep-n" "(" [symbol]::Symbol [comma1]::"," [separator]::Symbol [comma2]::"," [number]::NatCon ")"
Symbol ::=
"layout"Symbols ::= "[" Symbol "," Symbol "]"
CharRanges ::= "[" CharRange "," CharRange "]"
CharRange ::= [integer]::NatCon
Tree ::= [character]::NatCon
Args ::= "[" Tree "," Tree "]"
Production ::= "prod" "(" [lhs]::Symbols [comma1]::"," [rhs]::Symbol [comma2]::"," [attributes]::Attributes ")"