Any rule element separated by a pipe character (|) is considered a choice. Choices are matched against the input stream in order. If a match succeeds then the remaining choices are discarded and the result of the match is the AST result of the choice.
Examples
USING: prettyprint peg.ebnf ;
"a" EBNF[[ rule="a" | "b" | "c" ]] . "a"