aml
macro_rules! choice { () => { ... }; ($first_parser: expr) => { ... }; ($first_parser: expr, $($other_parser: expr),*) => { ... }; }
Takes a number of parsers, and tries to apply each one to the input in order. Returns the result of the first one that succeeds, or fails if all of them fail.