2021-01-17 22:35:13 -08:00
|
|
|
# This file contains some default general-purpose definitions.
|
2020-09-28 16:14:06 -07:00
|
|
|
|
2020-12-14 21:27:47 -08:00
|
|
|
nodent: \N !(\t/` )
|
|
|
|
indent: \N (` /\t)
|
2020-10-13 17:12:37 -07:00
|
|
|
dedent: $ !(nodent/indent)
|
2020-09-18 22:32:36 -07:00
|
|
|
utf8-codepoint: (
|
|
|
|
\x00-x7f
|
|
|
|
/ \xc0-xdf 1\x80-xbf
|
|
|
|
/ \xe0-xef 2\x80-xbf
|
|
|
|
/ \xf0-xf7 3\x80-xbf
|
|
|
|
)
|
2020-09-16 22:36:38 -07:00
|
|
|
crlf: \r\n
|
2020-09-28 15:13:54 -07:00
|
|
|
cr: \r
|
2021-01-20 15:23:57 -08:00
|
|
|
anglebraces: `< ..%(\n/anglebraces/string) `>
|
|
|
|
brackets: `[ ..%(\n/brackets/string) `]
|
|
|
|
braces: `{ ..%(\n/braces/string) `}
|
|
|
|
parens: `( ..%(\n/parens/string) `)
|
2021-05-19 21:58:54 -07:00
|
|
|
string: `" ..%string-escape `" / `' ..%string-escape `'
|
|
|
|
string-escape: `\ (`x 2 Hex / 1-3 `0-7 / `u 1-4 Hex / .)
|
2021-05-20 16:46:14 -07:00
|
|
|
left-id-edge: !<id-char
|
2021-05-11 19:06:41 -07:00
|
|
|
right-id-edge: !id-char
|
2021-05-22 13:28:33 -07:00
|
|
|
id: left-id-edge !`0-9 !(keyword !id-char) +id-char
|
2020-12-19 19:04:21 -08:00
|
|
|
id-char: `a-z,A-Z,_,0-9
|
2021-01-17 20:13:34 -08:00
|
|
|
var: id
|
2021-01-17 19:29:42 -08:00
|
|
|
keyword: !"" # No keywords defined by default
|
2021-05-20 15:27:24 -07:00
|
|
|
left-word-edge: !<word-char
|
2021-05-11 19:06:41 -07:00
|
|
|
right-word-edge: !word-char
|
2021-05-11 12:38:58 -07:00
|
|
|
word-char: `a-z,A-Z,_,0-9,-,'
|
2021-05-11 19:06:41 -07:00
|
|
|
word: left-word-edge +word-char
|
2020-12-19 19:04:21 -08:00
|
|
|
HEX: `0-9,A-F
|
|
|
|
Hex: `0-9,a-f,A-F
|
|
|
|
hex: `0-9,a-f
|
2020-09-28 18:08:23 -07:00
|
|
|
number: +`0-9 [`. *`0-9] / `. +`0-9
|
|
|
|
int: +`0-9
|
2020-09-16 22:36:38 -07:00
|
|
|
digit: `0-9
|
2021-01-17 22:35:13 -08:00
|
|
|
Abc123: `a-z,A-Z,0-9
|
|
|
|
ABC123: `A-Z,0-9
|
|
|
|
abc123: `a-z,0-9
|
2020-12-19 19:04:21 -08:00
|
|
|
Abc: `a-z,A-Z
|
2020-09-16 22:36:38 -07:00
|
|
|
ABC: `A-Z
|
|
|
|
abc: `a-z
|
2020-09-28 15:13:54 -07:00
|
|
|
esc: \e
|
|
|
|
tab: \t
|
|
|
|
nl: \n; lf: \n
|
2020-09-16 22:36:38 -07:00
|
|
|
comment: !''; # No default definition, can be overridden
|
2020-09-28 18:08:23 -07:00
|
|
|
__: *(` /\t/\n/\r/comment)
|
|
|
|
_: *(` /\t)
|