A Tabular View of Marpa::R2's DSL

Allowed adverbs per rule
Rule Min [1] Max [1] Pseudo Sample action assoc bless event latm name [2] null-ranking [3] pause priority proper rank [4] separator
Default 0 N :default ::= action => [values]
Discard 0 N :discard ~ whitespace
Discard Default 0 1 discard default = event => :symbol = on
Empty [5] 0 N lhs ::=
Inaccessible symbol 0 N inaccessible is ok by default
Lexeme 1 N :quote ~ ["]
Lexeme Default 0 1 lexeme default = action => [start, length, value]
Named event 0 N event 'a' = completed A
Prioritized [5] 0 N expression ::= number | '(' expression ')'
Quantified [5] 0 N script ::= expression+
Start [6] 0 1 :start ::= graph_grammar
Rule Min [1] Max [1] Pseudo Sample action assoc bless event latm name [2] null-ranking [3] pause priority proper rank [4] separator
Allowed adverbs per rule

Notes
[1]: Min/max is the minimum/maximum number of times the statement can appear in the grammar
[2]: The name adverb applies only to rules and rule alternatives. When specified, it defines a name for that rule alternative
[3]: The null-ranking adverb applies only to G1 rules (L0 rules do not have a semantics) and is ignored unless the SLIF recognizer's ranking_method named argument is set to something other than its default
[4]: rank is ignored unless the recognizer's ranking_method named argument is set to something other than its default
[5]: There must be at least 1 of these G1 rules in the grammar
[6]: The Start rule, if not explicitly listed, is assumed to be the 1st G1 rule in the grammar. Clearly, it will be one of those marked [5], i.e. Empty, Prioritized or Quantified

The DSL docs

Marpa's homepage