An ordered sequence of items that must all match in order.
Two or more alternatives; the first matching branch is taken.
Matches the inner item zero or one times. EBNF: A?; ABNF: [A].
Matches the inner item zero or more times. EBNF: A*; ABNF: *A.
Matches the inner item one or more times. EBNF: A+; ABNF: 1*A.
A reference to another named production rule.
A literal string to match byte-for-byte.
Set difference. ISO 14977: A - B.
Matches item only when except would NOT match at the same position.
A bounded repetition. ABNF: 2*4A, *4A, 2*A.
max: null means unbounded.
A single character value or range specified by codepoint.
ABNF: %x41, %d65, %b1000001, %x41-5A.
A reference to one of the RFC 5234 core rules (ALPHA, DIGIT, etc.).
A node in the body of a production rule. This is a discriminated union — inspect
kindto narrow to a specific node type.