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 ")"