 "replaced by the AST left on the stack. This is mostly useful if variables are "
 "used in the rule since they can be referenced like locals in the action quotation. "
 "The action is defined by having a ' => ' at the end of a rule and "
-"using '[[' and  ']]' to open and close the quotation. "
+"using '[[' and ']]' to open and close the quotation. "
 "If an action leaves the object 'ignore' on the stack then the result of that "
 "action will not be put in the AST of the result."
 { $examples

;

ARTICLE: "peg.ebnf.tokenizers" "Tokenizers"
"It is  possible to override the tokenizer in an EBNF defined parser. "
"Usually the input sequence to be parsed is an array of characters or a string. "
"Terminals in a rule match successive characters in the array or string. "
{ $examples

}
"The last defined rule is the main rule for the EBNF. It is the first one run "
"and it is expected that the remaining rules are used by that rule. Rules may be "
"left recursive. "
"Each rule can contain the following: "
{ $subsection "peg.ebnf.strings" }
{ $subsection "peg.ebnf.any" }
