1
1
## builtin subrules
2
2
3
- <ident> 2+3 ab2 / mob<ident>: < ab2 @ 4>/ capturing builtin <ident>
3
+ <ident> 2+3 ab2 < mob<ident>: ab2 @ 4> capturing builtin <ident>
4
4
<.ident> 2+3 ab2 y non-capturing builtin <.ident>
5
5
6
6
<?wb>def abc\ndef\n-==\nghi y word boundary \W\w
@@ -16,36 +16,36 @@ ghi<!wb> abc\ndef\n-==\nghi n EOS nonword boundary
16
16
a<!wb> abc\ndef\n-==\nghi y \w\w nonword boundary
17
17
\-<!wb> abc\ndef\n-==\nghi y \W\W nonword boundary
18
18
19
- <upper> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob<upper>: < A @ 45>/ <upper>
20
- <+upper> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < A @ 45>/ <+upper>
21
- <+upper>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < ABCDEFGHIJ @ 45>/ <+upper>+
22
- <lower> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob<lower>: < a @ 55>/ <lower>
23
- <+lower> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < a @ 55>/ <+lower>
24
- <+lower>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < abcdefghij @ 55>/ <+lower>+
25
- <alpha> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob<alpha>: < _ @ 31>/ <alpha>
26
- <+alpha> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < _ @ 31>/ <+alpha>
27
- <+alpha>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < _ @ 31>/ <+alpha>+
28
- <digit> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob<digit>: < 0 @ 35>/ <digit>
29
- <+digit> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < 0 @ 35>/ <+digit>
30
- <+digit>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < 0123456789 @ 35>/ <+digit>+
31
- <xdigit> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob<xdigit>: < 0 @ 35>/ <xdigit>
32
- <+xdigit> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < 0 @ 35>/ <+xdigit>
33
- <+xdigit>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < 0123456789ABCDEF @ 35>/ <+xdigit>+
34
- <space> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob<space>: < \t @ 0>/ <space>
35
- <+space> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < \t @ 0>/ <+space>
36
- <+space>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < \t\n\r @ 0>/ <+space>+
37
- <blank> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob<blank>: < \t @ 0>/ <blank>
38
- <+blank> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < \t @ 0>/ <+blank>
39
- <+blank>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < \t @ 0>/ <+blank>+
40
- <cntrl> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob<cntrl>: < \t @ 0>/ <cntrl>
41
- <+cntrl> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < \t @ 0>/ <+cntrl>
42
- <+cntrl>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < \t\n\r @ 0>/ <+cntrl>+
43
- <punct> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob<punct>: < ! @ 4>/ <punct>
44
- <+punct> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < ! @ 4>/ <+punct>
45
- <+punct>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < !"#$%&/ <+punct>+
46
- <alnum> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob<alnum>: < 0 @ 35>/ <alnum>
47
- <+alnum> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < 0 @ 35>/ <+alnum>
48
- <+alnum>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij / mob: < 0123456789ABCDEFGHIJabcdefghij @ 35>/ <+alnum>+
19
+ <upper> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob<upper>: A @ 45> <upper>
20
+ <+upper> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: A @ 45> <+upper>
21
+ <+upper>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: ABCDEFGHIJ @ 45> <+upper>+
22
+ <lower> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob<lower>: a @ 55> <lower>
23
+ <+lower> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: a @ 55> <+lower>
24
+ <+lower>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: abcdefghij @ 55> <+lower>+
25
+ <alpha> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob<alpha>: _ @ 31> <alpha>
26
+ <+alpha> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: _ @ 31> <+alpha>
27
+ <+alpha>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: _ @ 31> <+alpha>+
28
+ <digit> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob<digit>: 0 @ 35> <digit>
29
+ <+digit> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: 0 @ 35> <+digit>
30
+ <+digit>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: 0123456789 @ 35> <+digit>+
31
+ <xdigit> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob<xdigit>: 0 @ 35> <xdigit>
32
+ <+xdigit> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: 0 @ 35> <+xdigit>
33
+ <+xdigit>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: 0123456789ABCDEF @ 35> <+xdigit>+
34
+ <space> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob<space>: \t @ 0> <space>
35
+ <+space> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: \t @ 0> <+space>
36
+ <+space>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: \t\n\r @ 0> <+space>+
37
+ <blank> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob<blank>: \t @ 0> <blank>
38
+ <+blank> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: \t @ 0> <+blank>
39
+ <+blank>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: \t @ 0> <+blank>+
40
+ <cntrl> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob<cntrl>: \t @ 0> <cntrl>
41
+ <+cntrl> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: \t @ 0> <+cntrl>
42
+ <+cntrl>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: \t\n\r @ 0> <+cntrl>+
43
+ <punct> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob<punct>: ! @ 4> <punct>
44
+ <+punct> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: ! @ 4> <+punct>
45
+ <+punct>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: !"#$%&/ <+punct>+
46
+ <alnum> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob<alnum>: 0 @ 35> <alnum>
47
+ <+alnum> \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: 0 @ 35> <+alnum>
48
+ <+alnum>+ \t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij < mob: 0123456789ABCDEFGHIJabcdefghij @ 35> <+alnum>+
49
49
<+alnum+[_]> ident_1 y union of character classes
50
50
<+[ab]+[\-]>+ aaa-bbb y enumerated character classes
51
51
<+ [ a b ]+[\-]>+ aaa-bbb y whitespace is ignored within square brackets and after the initial +
0 commit comments