Defines types of node in a BNF tree (CBNFParser).
Except for ERoot, EIncomplete, EReference, and ELastParserNodeType, the types define different types of rule that the input stream must meet to satisfy the grammar.
Exact rule: match exactly with the provided string.
Range rule: next character must be in the specified range.
Select rule: next character must exist in the selected string.
If the select string starts with ^, it is a NOT Select.
And rule: match all of the given sub-rules.
Sub-rules are defined by the child nodes of the AND rule node.
Or rule: match one of the given sub-rules.
Sub-rules are defined by the child nodes of the OR rule node.
NMore rule: match a single subrule N or more times.
Optional rule: match a single sub-rule 0/1 times.
A sub-rule is defined by the child node of the Optional rule node.
Without rule: match the first sub-rule but not the second.
Sub-rules are defined by the child nodes of the Without rule node.
Reference rule: match the referred to rule.
The target rule name is identified by a CBNFNode::KReference() attribute.
Indicates final node type.