 }
 "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."
+"left recursive. "
 "Each rule can contain the following: "
 { $subsection "peg.ebnf.strings" }
 { $subsection "peg.ebnf.any" }

ARTICLE: "peg.ebnf" "EBNF"
"This vocubalary provides a DSL that allows writing PEG parsers that look like "
"EBNF syntax. It provides three parsing words described below. These words all "
"accept the same EBNF syntax. The difference is in how they are used."
{ $subsection POSTPONE: <EBNF }
{ $subsection POSTPONE: [EBNF }
{ $subsection POSTPONE: EBNF: }

;

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
