Prev | Next |
Grammar Rules
Rules are run to break up text into structure. A rule is made up of one or more definitions, each of which is made up of one or more terms.
Types of Rule
Rule |
Description |
---|---|
Named rules |
A name, followed by a definition list. For example: <rule> ::= <term1> <term2> | "-" <term1>; |
Inline Rules |
Inside a definition, a rule defined within parentheses. These act in exactly the same way as if they were a named rule being called by a term. For example: <rule> ::= (<inline>); |
Optional Rules |
Inside a definition, a rule defined within square brackets. This rule succeeds even if the contents fail. For example: <rule> ::= [<inline>]; |
Repeating Rules |
Inside a definition, a term followed by a plus sign. This rule matches the inner rule once or more than once. For example: <rule> ::= <inline>+; rule ::= (<term1> <term2>)+; |
Optional Repeating Rules |
Inside a definition, a rule followed by a star. This rule matches the inner rule zero or more times, meaning it succeeds even if the inner rule never succeeds. For example: <rule> ::= <inline>*; rule ::= (<term1> <term2>)*; |
Learn more