pub fn alternatives(name: &str) -> Vec<&'static str>Expand description
The rules a rule chooses between, in the order the matcher tries them.
Written for Statement, whose thirty six alternatives are the denominator of the statement
coverage number in spec/sql/duckdb/01-what-compatible-means.md section 1.1. Reading them off
the table rather than writing them down is the whole point: the list moves when the vendored
grammar moves, so a statement upstream adds is a statement the denominator grew by, and nobody
has to remember to edit a constant.
Empty when there is no such rule, when its body is not a choice, and when any alternative of the choice is something other than a reference to a rule. The last one is not a fussy guard. A choice of a rule and a bare keyword has no name for that second alternative, so a count over what came back would be a count with a hole in it, and handing back nothing says that more clearly than handing back a list one short.