 ;
 
 ARTICLE: "peg.ebnf.tokenizers" "Tokenizers"
-"It is  possible to override the tokenizer in an EBNF defined parser. "
+"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" }

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