BalancedRule |
Balanced rules ensure that braces are balanced, that is, that the corresponding brace is matched.
|
ChainRule |
name : [[rule]] [[rule]]*
Similar to the Choice rule, except all sub rules must be successful when parsing(similar to an 'and' being performed on a hypotheical "isSuccess" for each rule)
Because of the possibility for subrules to be optional, this Rule type must support back tracking, where after a failure, the rule will remove tokens from the growing return token when it needs to reconsider a sub rule as being parsable.
|
ChoiceRule |
name : [[rule]] ( | [[rule]] )*
The basic parsing rule.
|
ParsingCouple |
ParsingCouples are used by balanced rules to quickly find the corresponding brace.
|
RepeatableRule |
name: [[rule]](option)
Repeatable rules are rules that are repeated sequencially one after the other in some form
option: ? means either the rule does not parse or it does once and only once, i.e.
|
RootRule |
The only difference between a root rule and a choice rule is that after parsing the parse position must be at the end of the file for this rule to pass
|
Terminal |
Terminals are the only rules that actually don't use sub rules, instead, they use regex to compute whether there is a successful parse.
|