|
@@ -112,6 +112,19 @@ Terminals can be assigned priority only when using a lexer (future versions may |
|
|
|
|
|
|
|
|
Priority can be either positive or negative. If not specified for a terminal, it defaults to 1. |
|
|
Priority can be either positive or negative. If not specified for a terminal, it defaults to 1. |
|
|
|
|
|
|
|
|
|
|
|
### Regexp Flags |
|
|
|
|
|
|
|
|
|
|
|
You can use flags on regexps and strings. For example: |
|
|
|
|
|
|
|
|
|
|
|
```perl |
|
|
|
|
|
SELECT: "select"i //# Will ignore case, and match SELECT or Select, etc. |
|
|
|
|
|
MULTILINE_TEXT: /.+/s |
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
Supported flags are one of: `imslu`. See Python's regex documentation for more details on each one. |
|
|
|
|
|
|
|
|
|
|
|
Regexps/strings of different flags can only be concatenated in Python 3.6+ |
|
|
|
|
|
|
|
|
#### Notes for when using a lexer: |
|
|
#### Notes for when using a lexer: |
|
|
|
|
|
|
|
|
When using a lexer (standard or contextual), it is the grammar-author's responsibility to make sure the literals don't collide, or that if they do, they are matched in the desired order. Literals are matched according to the following precedence: |
|
|
When using a lexer (standard or contextual), it is the grammar-author's responsibility to make sure the literals don't collide, or that if they do, they are matched in the desired order. Literals are matched according to the following precedence: |
|
|