summaryrefslogtreecommitdiff
path: root/grammar
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@colm.net>2019-12-15 12:35:06 +0200
committerAdrian Thurston <thurston@colm.net>2019-12-15 12:38:17 +0200
commitc73e639af4fb3a1b383d4a301929aa86783ea10f (patch)
treec709c80fe12ca63346342b6670fb0febeafdfe0b /grammar
parent732f9db9e6a2d7919e316341de06501d38aaabcc (diff)
downloadcolm-c73e639af4fb3a1b383d4a301929aa86783ea10f.tar.gz
go grammar: added initial (small) testing files and utf8.lm
Diffstat (limited to 'grammar')
-rw-r--r--grammar/go/.gitignore3
-rw-r--r--grammar/go/Makefile2
-rw-r--r--grammar/go/go.lm1
-rw-r--r--grammar/go/input.til13
-rw-r--r--grammar/go/test/input.go41
-rw-r--r--grammar/go/test/invalid.go10
-rw-r--r--grammar/go/utf8.lm1604
7 files changed, 1656 insertions, 18 deletions
diff --git a/grammar/go/.gitignore b/grammar/go/.gitignore
index 80d228d8..7f1dc001 100644
--- a/grammar/go/.gitignore
+++ b/grammar/go/.gitignore
@@ -1,5 +1,2 @@
-/utf8.lm
/go.c
/go
-/insert-semi.c
-/insert-semi
diff --git a/grammar/go/Makefile b/grammar/go/Makefile
index 8f5d8447..faed933e 100644
--- a/grammar/go/Makefile
+++ b/grammar/go/Makefile
@@ -6,7 +6,7 @@ all: go
go: go.lm parsego.lm utf8.lm $(COLM)
$(COLM) -o go parsego.lm
-utf8.lm: Makefile utf8pat.rb UnicodeData.txt
+utf8: UnicodeData.txt
echo 'rl unicode_letter /' >utf8.lm
ruby utf8pat.rb 'L[ultmo]' 1 UnicodeData.txt >> utf8.lm
echo '/' >>utf8.lm
diff --git a/grammar/go/go.lm b/grammar/go/go.lm
index 0ab8f7fd..a1523a26 100644
--- a/grammar/go/go.lm
+++ b/grammar/go/go.lm
@@ -101,7 +101,6 @@ lex
# Rune literals
#
-
rl escaped_char
/ '\\' ( 'a' | 'b' | 'f' | 'n' | 'r' | 't' | 'v' | '\\' | "'" | '"' ) /
diff --git a/grammar/go/input.til b/grammar/go/input.til
deleted file mode 100644
index 008182b8..00000000
--- a/grammar/go/input.til
+++ /dev/null
@@ -1,13 +0,0 @@
-var a
-a := 1;
-
-head:
-
-a := ( a + 1 )
-c := d;
-
-if a = 10 then
- goto head
-end
-
-hi := there; friend := yes
diff --git a/grammar/go/test/input.go b/grammar/go/test/input.go
new file mode 100644
index 00000000..e9e89a51
--- /dev/null
+++ b/grammar/go/test/input.go
@@ -0,0 +1,41 @@
+a b c
+d e f
+treeß
+ foo then /**/
+ bar //ladkf
+ baz /*
+*/end
+42
+4_2
+0600
+0_600
+0o600
+0O600 // second character is capital letter 'O'
+0xBadFace
+0xBad_Face
+0x_67_7a_2f_cc_40_c6
+170141183460469231731687303715884105727
+170_141183_460469_231731_687303_715884_105727
+_42 // an identifier, not an integer literal
+'a'
+'ä'
+'本'
+'\t'
+'\000'
+'\007'
+'\377'
+'\x07'
+'\xff'
+'\u12e4'
+'\U00101234'
+'\'' // rune literal containing single quote character
+`abc` // same as "abc"
+`\n
+\n` // same as "\\n\n\\n"
+"\n"
+"\"" // same as `"`
+"Hello, world!\n"
+"日本語"
+"\u65e5本\U00008a9e"
+"\xff\u00FF"
+
diff --git a/grammar/go/test/invalid.go b/grammar/go/test/invalid.go
new file mode 100644
index 00000000..5de15057
--- /dev/null
+++ b/grammar/go/test/invalid.go
@@ -0,0 +1,10 @@
+42_ // invalid: _ must separate successive digits
+4__2 // invalid: only one _ at a time
+0_xBadFace // invalid: _ must separate successive digits
+'aa' // illegal: too many characters
+'\xa' // illegal: too few hexadecimal digits
+'\0' // illegal: too few octal digits
+'\uDFFF' // illegal: surrogate half
+'\U00110000' // illegal: invalid Unicode code point
+"\uD800" // illegal: surrogate half
+"\U00110000" // illegal: invalid Unicode code point
diff --git a/grammar/go/utf8.lm b/grammar/go/utf8.lm
new file mode 100644
index 00000000..667572f2
--- /dev/null
+++ b/grammar/go/utf8.lm
@@ -0,0 +1,1604 @@
+rl unicode_letter /
+ 0x41 .. 0x5A |
+ 0x61 .. 0x7A |
+ 0xC2 (
+ 0xAA |
+ 0xB5 |
+ 0xBA
+ ) |
+ 0xC3 (
+ 0x80 .. 0x96 |
+ 0x98 .. 0xB6 |
+ 0xB8 .. 0xBF
+ ) |
+ 0xC4 .. 0xCA (
+ 0x80 .. 0xBF
+ ) |
+ 0xCB (
+ 0x80 .. 0x81 |
+ 0x86 .. 0x91 |
+ 0xA0 .. 0xA4 |
+ 0xAC |
+ 0xAE
+ ) |
+ 0xCD (
+ 0xB0 .. 0xB4 |
+ 0xB6 .. 0xB7 |
+ 0xBA .. 0xBD |
+ 0xBF
+ ) |
+ 0xCE (
+ 0x86 |
+ 0x88 .. 0x8A |
+ 0x8C |
+ 0x8E .. 0xA1 |
+ 0xA3 .. 0xBF
+ ) |
+ 0xCF (
+ 0x80 .. 0xB5 |
+ 0xB7 .. 0xBF
+ ) |
+ 0xD0 .. 0xD1 (
+ 0x80 .. 0xBF
+ ) |
+ 0xD2 (
+ 0x80 .. 0x81 |
+ 0x8A .. 0xBF
+ ) |
+ 0xD3 (
+ 0x80 .. 0xBF
+ ) |
+ 0xD4 (
+ 0x80 .. 0xAF |
+ 0xB1 .. 0xBF
+ ) |
+ 0xD5 (
+ 0x80 .. 0x96 |
+ 0x99 |
+ 0xA0 .. 0xBF
+ ) |
+ 0xD6 (
+ 0x80 .. 0x88
+ ) |
+ 0xD7 (
+ 0x90 .. 0xAA |
+ 0xAF .. 0xB2
+ ) |
+ 0xD8 (
+ 0xA0 .. 0xBF
+ ) |
+ 0xD9 (
+ 0x80 .. 0x8A |
+ 0xAE .. 0xAF |
+ 0xB1 .. 0xBF
+ ) |
+ 0xDA (
+ 0x80 .. 0xBF
+ ) |
+ 0xDB (
+ 0x80 .. 0x93 |
+ 0x95 |
+ 0xA5 .. 0xA6 |
+ 0xAE .. 0xAF |
+ 0xBA .. 0xBC |
+ 0xBF
+ ) |
+ 0xDC (
+ 0x90 |
+ 0x92 .. 0xAF
+ ) |
+ 0xDD (
+ 0x8D .. 0xBF
+ ) |
+ 0xDE (
+ 0x80 .. 0xA5 |
+ 0xB1
+ ) |
+ 0xDF (
+ 0x8A .. 0xAA |
+ 0xB4 .. 0xB5 |
+ 0xBA
+ ) |
+ 0xE0 (
+ 0xA0 (
+ 0x80 .. 0x95 |
+ 0x9A |
+ 0xA4 |
+ 0xA8
+ ) |
+ 0xA1 (
+ 0x80 .. 0x98 |
+ 0xA0 .. 0xAA
+ ) |
+ 0xA2 (
+ 0xA0 .. 0xB4 |
+ 0xB6 .. 0xBD
+ ) |
+ 0xA4 (
+ 0x84 .. 0xB9 |
+ 0xBD
+ ) |
+ 0xA5 (
+ 0x90 |
+ 0x98 .. 0xA1 |
+ 0xB1 .. 0xBF
+ ) |
+ 0xA6 (
+ 0x80 |
+ 0x85 .. 0x8C |
+ 0x8F .. 0x90 |
+ 0x93 .. 0xA8 |
+ 0xAA .. 0xB0 |
+ 0xB2 |
+ 0xB6 .. 0xB9 |
+ 0xBD
+ ) |
+ 0xA7 (
+ 0x8E |
+ 0x9C .. 0x9D |
+ 0x9F .. 0xA1 |
+ 0xB0 .. 0xB1 |
+ 0xBC
+ ) |
+ 0xA8 (
+ 0x85 .. 0x8A |
+ 0x8F .. 0x90 |
+ 0x93 .. 0xA8 |
+ 0xAA .. 0xB0 |
+ 0xB2 .. 0xB3 |
+ 0xB5 .. 0xB6 |
+ 0xB8 .. 0xB9
+ ) |
+ 0xA9 (
+ 0x99 .. 0x9C |
+ 0x9E |
+ 0xB2 .. 0xB4
+ ) |
+ 0xAA (
+ 0x85 .. 0x8D |
+ 0x8F .. 0x91 |
+ 0x93 .. 0xA8 |
+ 0xAA .. 0xB0 |
+ 0xB2 .. 0xB3 |
+ 0xB5 .. 0xB9 |
+ 0xBD
+ ) |
+ 0xAB (
+ 0x90 |
+ 0xA0 .. 0xA1 |
+ 0xB9
+ ) |
+ 0xAC (
+ 0x85 .. 0x8C |
+ 0x8F .. 0x90 |
+ 0x93 .. 0xA8 |
+ 0xAA .. 0xB0 |
+ 0xB2 .. 0xB3 |
+ 0xB5 .. 0xB9 |
+ 0xBD
+ ) |
+ 0xAD (
+ 0x9C .. 0x9D |
+ 0x9F .. 0xA1 |
+ 0xB1
+ ) |
+ 0xAE (
+ 0x83 |
+ 0x85 .. 0x8A |
+ 0x8E .. 0x90 |
+ 0x92 .. 0x95 |
+ 0x99 .. 0x9A |
+ 0x9C |
+ 0x9E .. 0x9F |
+ 0xA3 .. 0xA4 |
+ 0xA8 .. 0xAA |
+ 0xAE .. 0xB9
+ ) |
+ 0xAF (
+ 0x90
+ ) |
+ 0xB0 (
+ 0x85 .. 0x8C |
+ 0x8E .. 0x90 |
+ 0x92 .. 0xA8 |
+ 0xAA .. 0xB9 |
+ 0xBD
+ ) |
+ 0xB1 (
+ 0x98 .. 0x9A |
+ 0xA0 .. 0xA1
+ ) |
+ 0xB2 (
+ 0x80 |
+ 0x85 .. 0x8C |
+ 0x8E .. 0x90 |
+ 0x92 .. 0xA8 |
+ 0xAA .. 0xB3 |
+ 0xB5 .. 0xB9 |
+ 0xBD
+ ) |
+ 0xB3 (
+ 0x9E |
+ 0xA0 .. 0xA1 |
+ 0xB1 .. 0xB2
+ ) |
+ 0xB4 (
+ 0x85 .. 0x8C |
+ 0x8E .. 0x90 |
+ 0x92 .. 0xBA |
+ 0xBD
+ ) |
+ 0xB5 (
+ 0x8E |
+ 0x94 .. 0x96 |
+ 0x9F .. 0xA1 |
+ 0xBA .. 0xBF
+ ) |
+ 0xB6 (
+ 0x85 .. 0x96 |
+ 0x9A .. 0xB1 |
+ 0xB3 .. 0xBB |
+ 0xBD
+ ) |
+ 0xB7 (
+ 0x80 .. 0x86
+ ) |
+ 0xB8 (
+ 0x81 .. 0xB0 |
+ 0xB2 .. 0xB3
+ ) |
+ 0xB9 (
+ 0x80 .. 0x86
+ ) |
+ 0xBA (
+ 0x81 .. 0x82 |
+ 0x84 |
+ 0x86 .. 0x8A |
+ 0x8C .. 0xA3 |
+ 0xA5 |
+ 0xA7 .. 0xB0 |
+ 0xB2 .. 0xB3 |
+ 0xBD
+ ) |
+ 0xBB (
+ 0x80 .. 0x84 |
+ 0x86 |
+ 0x9C .. 0x9F
+ ) |
+ 0xBC (
+ 0x80
+ ) |
+ 0xBD (
+ 0x80 .. 0x87 |
+ 0x89 .. 0xAC
+ ) |
+ 0xBE (
+ 0x88 .. 0x8C
+ )
+ ) |
+ 0xE1 (
+ 0x80 (
+ 0x80 .. 0xAA |
+ 0xBF
+ ) |
+ 0x81 (
+ 0x90 .. 0x95 |
+ 0x9A .. 0x9D |
+ 0xA1 |
+ 0xA5 .. 0xA6 |
+ 0xAE .. 0xB0 |
+ 0xB5 .. 0xBF
+ ) |
+ 0x82 (
+ 0x80 .. 0x81 |
+ 0x8E |
+ 0xA0 .. 0xBF
+ ) |
+ 0x83 (
+ 0x80 .. 0x85 |
+ 0x87 |
+ 0x8D |
+ 0x90 .. 0xBA |
+ 0xBC .. 0xBF
+ ) |
+ 0x84 .. 0x88 (
+ 0x80 .. 0xBF
+ ) |
+ 0x89 (
+ 0x80 .. 0x88 |
+ 0x8A .. 0x8D |
+ 0x90 .. 0x96 |
+ 0x98 |
+ 0x9A .. 0x9D |
+ 0xA0 .. 0xBF
+ ) |
+ 0x8A (
+ 0x80 .. 0x88 |
+ 0x8A .. 0x8D |
+ 0x90 .. 0xB0 |
+ 0xB2 .. 0xB5 |
+ 0xB8 .. 0xBE
+ ) |
+ 0x8B (
+ 0x80 |
+ 0x82 .. 0x85 |
+ 0x88 .. 0x96 |
+ 0x98 .. 0xBF
+ ) |
+ 0x8C (
+ 0x80 .. 0x90 |
+ 0x92 .. 0x95 |
+ 0x98 .. 0xBF
+ ) |
+ 0x8D (
+ 0x80 .. 0x9A
+ ) |
+ 0x8E (
+ 0x80 .. 0x8F |
+ 0xA0 .. 0xBF
+ ) |
+ 0x8F (
+ 0x80 .. 0xB5 |
+ 0xB8 .. 0xBD
+ ) |
+ 0x90 (
+ 0x81 .. 0xBF
+ ) |
+ 0x91 .. 0x98 (
+ 0x80 .. 0xBF
+ ) |
+ 0x99 (
+ 0x80 .. 0xAC |
+ 0xAF .. 0xBF
+ ) |
+ 0x9A (
+ 0x81 .. 0x9A |
+ 0xA0 .. 0xBF
+ ) |
+ 0x9B (
+ 0x80 .. 0xAA |
+ 0xB1 .. 0xB8
+ ) |
+ 0x9C (
+ 0x80 .. 0x8C |
+ 0x8E .. 0x91 |
+ 0xA0 .. 0xB1
+ ) |
+ 0x9D (
+ 0x80 .. 0x91 |
+ 0xA0 .. 0xAC |
+ 0xAE .. 0xB0
+ ) |
+ 0x9E (
+ 0x80 .. 0xB3
+ ) |
+ 0x9F (
+ 0x97 |
+ 0x9C
+ ) |
+ 0xA0 (
+ 0xA0 .. 0xBF
+ ) |
+ 0xA1 (
+ 0x80 .. 0xB8
+ ) |
+ 0xA2 (
+ 0x80 .. 0x84 |
+ 0x87 .. 0xA8 |
+ 0xAA |
+ 0xB0 .. 0xBF
+ ) |
+ 0xA3 (
+ 0x80 .. 0xB5
+ ) |
+ 0xA4 (
+ 0x80 .. 0x9E
+ ) |
+ 0xA5 (
+ 0x90 .. 0xAD |
+ 0xB0 .. 0xB4
+ ) |
+ 0xA6 (
+ 0x80 .. 0xAB |
+ 0xB0 .. 0xBF
+ ) |
+ 0xA7 (
+ 0x80 .. 0x89
+ ) |
+ 0xA8 (
+ 0x80 .. 0x96 |
+ 0xA0 .. 0xBF
+ ) |
+ 0xA9 (
+ 0x80 .. 0x94
+ ) |
+ 0xAA (
+ 0xA7
+ ) |
+ 0xAC (
+ 0x85 .. 0xB3
+ ) |
+ 0xAD (
+ 0x85 .. 0x8B
+ ) |
+ 0xAE (
+ 0x83 .. 0xA0 |
+ 0xAE .. 0xAF |
+ 0xBA .. 0xBF
+ ) |
+ 0xAF (
+ 0x80 .. 0xA5
+ ) |
+ 0xB0 (
+ 0x80 .. 0xA3
+ ) |
+ 0xB1 (
+ 0x8D .. 0x8F |
+ 0x9A .. 0xBD
+ ) |
+ 0xB2 (
+ 0x80 .. 0x88 |
+ 0x90 .. 0xBA |
+ 0xBD .. 0xBF
+ ) |
+ 0xB3 (
+ 0xA9 .. 0xAC |
+ 0xAE .. 0xB3 |
+ 0xB5 .. 0xB6 |
+ 0xBA
+ ) |
+ 0xB4 .. 0xB6 (
+ 0x80 .. 0xBF
+ ) |
+ 0xB8 .. 0xBB (
+ 0x80 .. 0xBF
+ ) |
+ 0xBC (
+ 0x80 .. 0x95 |
+ 0x98 .. 0x9D |
+ 0xA0 .. 0xBF
+ ) |
+ 0xBD (
+ 0x80 .. 0x85 |
+ 0x88 .. 0x8D |
+ 0x90 .. 0x97 |
+ 0x99 |
+ 0x9B |
+ 0x9D |
+ 0x9F .. 0xBD
+ ) |
+ 0xBE (
+ 0x80 .. 0xB4 |
+ 0xB6 .. 0xBC |
+ 0xBE
+ ) |
+ 0xBF (
+ 0x82 .. 0x84 |
+ 0x86 .. 0x8C |
+ 0x90 .. 0x93 |
+ 0x96 .. 0x9B |
+ 0xA0 .. 0xAC |
+ 0xB2 .. 0xB4 |
+ 0xB6 .. 0xBC
+ )
+ ) |
+ 0xE2 (
+ 0x81 (
+ 0xB1 |
+ 0xBF
+ ) |
+ 0x82 (
+ 0x90 .. 0x9C
+ ) |
+ 0x84 (
+ 0x82 |
+ 0x87 |
+ 0x8A .. 0x93 |
+ 0x95 |
+ 0x99 .. 0x9D |
+ 0xA4 |
+ 0xA6 |
+ 0xA8 |
+ 0xAA .. 0xAD |
+ 0xAF .. 0xB9 |
+ 0xBC .. 0xBF
+ ) |
+ 0x85 (
+ 0x85 .. 0x89 |
+ 0x8E
+ ) |
+ 0x86 (
+ 0x83 .. 0x84
+ ) |
+ 0xB0 (
+ 0x80 .. 0xAE |
+ 0xB0 .. 0xBF
+ ) |
+ 0xB1 (
+ 0x80 .. 0x9E |
+ 0xA0 .. 0xBF
+ ) |
+ 0xB2 (
+ 0x80 .. 0xBF
+ ) |
+ 0xB3 (
+ 0x80 .. 0xA4 |
+ 0xAB .. 0xAE |
+ 0xB2 .. 0xB3
+ ) |
+ 0xB4 (
+ 0x80 .. 0xA5 |
+ 0xA7 |
+ 0xAD |
+ 0xB0 .. 0xBF
+ ) |
+ 0xB5 (
+ 0x80 .. 0xA7 |
+ 0xAF
+ ) |
+ 0xB6 (
+ 0x80 .. 0x96 |
+ 0xA0 .. 0xA6 |
+ 0xA8 .. 0xAE |
+ 0xB0 .. 0xB6 |
+ 0xB8 .. 0xBE
+ ) |
+ 0xB7 (
+ 0x80 .. 0x86 |
+ 0x88 .. 0x8E |
+ 0x90 .. 0x96 |
+ 0x98 .. 0x9E
+ ) |
+ 0xB8 (
+ 0xAF
+ )
+ ) |
+ 0xE3 (
+ 0x80 (
+ 0x85 .. 0x86 |
+ 0xB1 .. 0xB5 |
+ 0xBB .. 0xBC
+ ) |
+ 0x81 (
+ 0x81 .. 0xBF
+ ) |
+ 0x82 (
+ 0x80 .. 0x96 |
+ 0x9D .. 0x9F |
+ 0xA1 .. 0xBF
+ ) |
+ 0x83 (
+ 0x80 .. 0xBA |
+ 0xBC .. 0xBF
+ ) |
+ 0x84 (
+ 0x85 .. 0xAF |
+ 0xB1 .. 0xBF
+ ) |
+ 0x85 (
+ 0x80 .. 0xBF
+ ) |
+ 0x86 (
+ 0x80 .. 0x8E |
+ 0xA0 .. 0xBA
+ ) |
+ 0x87 (
+ 0xB0 .. 0xBF
+ ) |
+ 0x90 (
+ 0x80
+ )
+ ) |
+ 0xE4 (
+ 0xB6 (
+ 0xB5
+ ) |
+ 0xB8 (
+ 0x80
+ )
+ ) |
+ 0xE9 (
+ 0xBF (
+ 0xAF
+ )
+ ) |
+ 0xEA (
+ 0x80 .. 0x91 (
+ 0x80 .. 0xBF
+ ) |
+ 0x92 (
+ 0x80 .. 0x8C
+ ) |
+ 0x93 (
+ 0x90 .. 0xBD
+ ) |
+ 0x94 .. 0x97 (
+ 0x80 .. 0xBF
+ ) |
+ 0x98 (
+ 0x80 .. 0x8C |
+ 0x90 .. 0x9F |
+ 0xAA .. 0xAB
+ ) |
+ 0x99 (
+ 0x80 .. 0xAE |
+ 0xBF
+ ) |
+ 0x9A (
+ 0x80 .. 0x9D |
+ 0xA0 .. 0xBF
+ ) |
+ 0x9B (
+ 0x80 .. 0xA5
+ ) |
+ 0x9C (
+ 0x97 .. 0x9F |
+ 0xA2 .. 0xBF
+ ) |
+ 0x9D (
+ 0x80 .. 0xBF
+ ) |
+ 0x9E (
+ 0x80 .. 0x88 |
+ 0x8B .. 0xBF
+ ) |
+ 0x9F (
+ 0x82 .. 0x86 |
+ 0xB7 .. 0xBF
+ ) |
+ 0xA0 (
+ 0x80 .. 0x81 |
+ 0x83 .. 0x85 |
+ 0x87 .. 0x8A |
+ 0x8C .. 0xA2
+ ) |
+ 0xA1 (
+ 0x80 .. 0xB3
+ ) |
+ 0xA2 (
+ 0x82 .. 0xB3
+ ) |
+ 0xA3 (
+ 0xB2 .. 0xB7 |
+ 0xBB |
+ 0xBD .. 0xBE
+ ) |
+ 0xA4 (
+ 0x8A .. 0xA5 |
+ 0xB0 .. 0xBF
+ ) |
+ 0xA5 (
+ 0x80 .. 0x86 |
+ 0xA0 .. 0xBC
+ ) |
+ 0xA6 (
+ 0x84 .. 0xB2
+ ) |
+ 0xA7 (
+ 0x8F |
+ 0xA0 .. 0xA4 |
+ 0xA6 .. 0xAF |
+ 0xBA .. 0xBE
+ ) |
+ 0xA8 (
+ 0x80 .. 0xA8
+ ) |
+ 0xA9 (
+ 0x80 .. 0x82 |
+ 0x84 .. 0x8B |
+ 0xA0 .. 0xB6 |
+ 0xBA |
+ 0xBE .. 0xBF
+ ) |
+ 0xAA (
+ 0x80 .. 0xAF |
+ 0xB1 |
+ 0xB5 .. 0xB6 |
+ 0xB9 .. 0xBD
+ ) |
+ 0xAB (
+ 0x80 |
+ 0x82 |
+ 0x9B .. 0x9D |
+ 0xA0 .. 0xAA |
+ 0xB2 .. 0xB4
+ ) |
+ 0xAC (
+ 0x81 .. 0x86 |
+ 0x89 .. 0x8E |
+ 0x91 .. 0x96 |
+ 0xA0 .. 0xA6 |
+ 0xA8 .. 0xAE |
+ 0xB0 .. 0xBF
+ ) |
+ 0xAD (
+ 0x80 .. 0x9A |
+ 0x9C .. 0xA7 |
+ 0xB0 .. 0xBF
+ ) |
+ 0xAE (
+ 0x80 .. 0xBF
+ ) |
+ 0xAF (
+ 0x80 .. 0xA2
+ ) |
+ 0xB0 (
+ 0x80
+ )
+ ) |
+ 0xED (
+ 0x9E (
+ 0xA3 |
+ 0xB0 .. 0xBF
+ ) |
+ 0x9F (
+ 0x80 .. 0x86 |
+ 0x8B .. 0xBB
+ )
+ ) |
+ 0xEF (
+ 0xA4 .. 0xA8 (
+ 0x80 .. 0xBF
+ ) |
+ 0xA9 (
+ 0x80 .. 0xAD |
+ 0xB0 .. 0xBF
+ ) |
+ 0xAA (
+ 0x80 .. 0xBF
+ ) |
+ 0xAB (
+ 0x80 .. 0x99
+ ) |
+ 0xAC (
+ 0x80 .. 0x86 |
+ 0x93 .. 0x97 |
+ 0x9D |
+ 0x9F .. 0xA8 |
+ 0xAA .. 0xB6 |
+ 0xB8 .. 0xBC |
+ 0xBE
+ ) |
+ 0xAD (
+ 0x80 .. 0x81 |
+ 0x83 .. 0x84 |
+ 0x86 .. 0xBF
+ ) |
+ 0xAE (
+ 0x80 .. 0xB1
+ ) |
+ 0xAF (
+ 0x93 .. 0xBF
+ ) |
+ 0xB0 .. 0xB3 (
+ 0x80 .. 0xBF
+ ) |
+ 0xB4 (
+ 0x80 .. 0xBD
+ ) |
+ 0xB5 (
+ 0x90 .. 0xBF
+ ) |
+ 0xB6 (
+ 0x80 .. 0x8F |
+ 0x92 .. 0xBF
+ ) |
+ 0xB7 (
+ 0x80 .. 0x87 |
+ 0xB0 .. 0xBB
+ ) |
+ 0xB9 (
+ 0xB0 .. 0xB4 |
+ 0xB6 .. 0xBF
+ ) |
+ 0xBA (
+ 0x80 .. 0xBF
+ ) |
+ 0xBB (
+ 0x80 .. 0xBC
+ ) |
+ 0xBC (
+ 0xA1 .. 0xBA
+ ) |
+ 0xBD (
+ 0x81 .. 0x9A |
+ 0xA6 .. 0xBF
+ ) |
+ 0xBE (
+ 0x80 .. 0xBE
+ ) |
+ 0xBF (
+ 0x82 .. 0x87 |
+ 0x8A .. 0x8F |
+ 0x92 .. 0x97 |
+ 0x9A .. 0x9C
+ )
+ ) |
+ 0xF0 (
+ 0x90 (
+ 0x80 (
+ 0x80 .. 0x8B |
+ 0x8D .. 0xA6 |
+ 0xA8 .. 0xBA |
+ 0xBC .. 0xBD |
+ 0xBF
+ ) |
+ 0x81 (
+ 0x80 .. 0x8D |
+ 0x90 .. 0x9D
+ ) |
+ 0x82 (
+ 0x80 .. 0xBF
+ ) |
+ 0x83 (
+ 0x80 .. 0xBA
+ ) |
+ 0x8A (
+ 0x80 .. 0x9C |
+ 0xA0 .. 0xBF
+ ) |
+ 0x8B (
+ 0x80 .. 0x90
+ ) |
+ 0x8C (
+ 0x80 .. 0x9F |
+ 0xAD .. 0xBF
+ ) |
+ 0x8D (
+ 0x80 |
+ 0x82 .. 0x89 |
+ 0x90 .. 0xB5
+ ) |
+ 0x8E (
+ 0x80 .. 0x9D |
+ 0xA0 .. 0xBF
+ ) |
+ 0x8F (
+ 0x80 .. 0x83 |
+ 0x88 .. 0x8F
+ ) |
+ 0x90 .. 0x91 (
+ 0x80 .. 0xBF
+ ) |
+ 0x92 (
+ 0x80 .. 0x9D |
+ 0xB0 .. 0xBF
+ ) |
+ 0x93 (
+ 0x80 .. 0x93 |
+ 0x98 .. 0xBB
+ ) |
+ 0x94 (
+ 0x80 .. 0xA7 |
+ 0xB0 .. 0xBF
+ ) |
+ 0x95 (
+ 0x80 .. 0xA3
+ ) |
+ 0x98 .. 0x9B (
+ 0x80 .. 0xBF
+ ) |
+ 0x9C (
+ 0x80 .. 0xB6
+ ) |
+ 0x9D (
+ 0x80 .. 0x95 |
+ 0xA0 .. 0xA7
+ ) |
+ 0xA0 (
+ 0x80 .. 0x85 |
+ 0x88 |
+ 0x8A .. 0xB5 |
+ 0xB7 .. 0xB8 |
+ 0xBC |
+ 0xBF
+ ) |
+ 0xA1 (
+ 0x80 .. 0x95 |
+ 0xA0 .. 0xB6
+ ) |
+ 0xA2 (
+ 0x80 .. 0x9E
+ ) |
+ 0xA3 (
+ 0xA0 .. 0xB2 |
+ 0xB4 .. 0xB5
+ ) |
+ 0xA4 (
+ 0x80 .. 0x95 |
+ 0xA0 .. 0xB9
+ ) |
+ 0xA6 (
+ 0x80 .. 0xB7 |
+ 0xBE .. 0xBF
+ ) |
+ 0xA8 (
+ 0x80 |
+ 0x90 .. 0x93 |
+ 0x95 .. 0x97 |
+ 0x99 .. 0xB5
+ ) |
+ 0xA9 (
+ 0xA0 .. 0xBC
+ ) |
+ 0xAA (
+ 0x80 .. 0x9C
+ ) |
+ 0xAB (
+ 0x80 .. 0x87 |
+ 0x89 .. 0xA4
+ ) |
+ 0xAC (
+ 0x80 .. 0xB5
+ ) |
+ 0xAD (
+ 0x80 .. 0x95 |
+ 0xA0 .. 0xB2
+ ) |
+ 0xAE (
+ 0x80 .. 0x91
+ ) |
+ 0xB0 (
+ 0x80 .. 0xBF
+ ) |
+ 0xB1 (
+ 0x80 .. 0x88
+ ) |
+ 0xB2 .. 0xB3 (
+ 0x80 .. 0xB2
+ ) |
+ 0xB4 (
+ 0x80 .. 0xA3
+ ) |
+ 0xBC (
+ 0x80 .. 0x9C |
+ 0xA7 |
+ 0xB0 .. 0xBF
+ ) |
+ 0xBD (
+ 0x80 .. 0x85
+ ) |
+ 0xBF (
+ 0xA0 .. 0xB6
+ )
+ ) |
+ 0x91 (
+ 0x80 (
+ 0x83 .. 0xB7
+ ) |
+ 0x82 (
+ 0x83 .. 0xAF
+ ) |
+ 0x83 (
+ 0x90 .. 0xA8
+ ) |
+ 0x84 (
+ 0x83 .. 0xA6
+ ) |
+ 0x85 (
+ 0x84 |
+ 0x90 .. 0xB2 |
+ 0xB6
+ ) |
+ 0x86 (
+ 0x83 .. 0xB2
+ ) |
+ 0x87 (
+ 0x81 .. 0x84 |
+ 0x9A |
+ 0x9C
+ ) |
+ 0x88 (
+ 0x80 .. 0x91 |
+ 0x93 .. 0xAB
+ ) |
+ 0x8A (
+ 0x80 .. 0x86 |
+ 0x88 |
+ 0x8A .. 0x8D |
+ 0x8F .. 0x9D |
+ 0x9F .. 0xA8 |
+ 0xB0 .. 0xBF
+ ) |
+ 0x8B (
+ 0x80 .. 0x9E
+ ) |
+ 0x8C (
+ 0x85 .. 0x8C |
+ 0x8F .. 0x90 |
+ 0x93 .. 0xA8 |
+ 0xAA .. 0xB0 |
+ 0xB2 .. 0xB3 |
+ 0xB5 .. 0xB9 |
+ 0xBD
+ ) |
+ 0x8D (
+ 0x90 |
+ 0x9D .. 0xA1
+ ) |
+ 0x90 (
+ 0x80 .. 0xB4
+ ) |
+ 0x91 (
+ 0x87 .. 0x8A |
+ 0x9F
+ ) |
+ 0x92 (
+ 0x80 .. 0xAF
+ ) |
+ 0x93 (
+ 0x84 .. 0x85 |
+ 0x87
+ ) |
+ 0x96 (
+ 0x80 .. 0xAE
+ ) |
+ 0x97 (
+ 0x98 .. 0x9B
+ ) |
+ 0x98 (
+ 0x80 .. 0xAF
+ ) |
+ 0x99 (
+ 0x84
+ ) |
+ 0x9A (
+ 0x80 .. 0xAA |
+ 0xB8
+ ) |
+ 0x9C (
+ 0x80 .. 0x9A
+ ) |
+ 0xA0 (
+ 0x80 .. 0xAB
+ ) |
+ 0xA2 (
+ 0xA0 .. 0xBF
+ ) |
+ 0xA3 (
+ 0x80 .. 0x9F |
+ 0xBF
+ ) |
+ 0xA6 (
+ 0xA0 .. 0xA7 |
+ 0xAA .. 0xBF
+ ) |
+ 0xA7 (
+ 0x80 .. 0x90 |
+ 0xA1 |
+ 0xA3
+ ) |
+ 0xA8 (
+ 0x80 |
+ 0x8B .. 0xB2 |
+ 0xBA
+ ) |
+ 0xA9 (
+ 0x90 |
+ 0x9C .. 0xBF
+ ) |
+ 0xAA (
+ 0x80 .. 0x89 |
+ 0x9D
+ ) |
+ 0xAB (
+ 0x80 .. 0xB8
+ ) |
+ 0xB0 (
+ 0x80 .. 0x88 |
+ 0x8A .. 0xAE
+ ) |
+ 0xB1 (
+ 0x80 |
+ 0xB2 .. 0xBF
+ ) |
+ 0xB2 (
+ 0x80 .. 0x8F
+ ) |
+ 0xB4 (
+ 0x80 .. 0x86 |
+ 0x88 .. 0x89 |
+ 0x8B .. 0xB0
+ ) |
+ 0xB5 (
+ 0x86 |
+ 0xA0 .. 0xA5 |
+ 0xA7 .. 0xA8 |
+ 0xAA .. 0xBF
+ ) |
+ 0xB6 (
+ 0x80 .. 0x89 |
+ 0x98
+ ) |
+ 0xBB (
+ 0xA0 .. 0xB2
+ )
+ ) |
+ 0x92 (
+ 0x80 .. 0x8D (
+ 0x80 .. 0xBF
+ ) |
+ 0x8E (
+ 0x80 .. 0x99
+ ) |
+ 0x92 .. 0x94 (
+ 0x80 .. 0xBF
+ ) |
+ 0x95 (
+ 0x80 .. 0x83
+ )
+ ) |
+ 0x93 (
+ 0x80 .. 0x8F (
+ 0x80 .. 0xBF
+ ) |
+ 0x90 (
+ 0x80 .. 0xAE
+ )
+ ) |
+ 0x94 (
+ 0x90 .. 0x98 (
+ 0x80 .. 0xBF
+ ) |
+ 0x99 (
+ 0x80 .. 0x86
+ )
+ ) |
+ 0x96 (
+ 0xA0 .. 0xA7 (
+ 0x80 .. 0xBF
+ ) |
+ 0xA8 (
+ 0x80 .. 0xB8
+ ) |
+ 0xA9 (
+ 0x80 .. 0x9E
+ ) |
+ 0xAB (
+ 0x90 .. 0xAD
+ ) |
+ 0xAC (
+ 0x80 .. 0xAF
+ ) |
+ 0xAD (
+ 0x80 .. 0x83 |
+ 0xA3 .. 0xB7 |
+ 0xBD .. 0xBF
+ ) |
+ 0xAE (
+ 0x80 .. 0x8F
+ ) |
+ 0xB9 (
+ 0x80 .. 0xBF
+ ) |
+ 0xBC (
+ 0x80 .. 0xBF
+ ) |
+ 0xBD (
+ 0x80 .. 0x8A |
+ 0x90
+ ) |
+ 0xBE (
+ 0x93 .. 0x9F
+ ) |
+ 0xBF (
+ 0xA0 .. 0xA1 |
+ 0xA3
+ )
+ ) |
+ 0x97 (
+ 0x80 (
+ 0x80
+ )
+ ) |
+ 0x98 (
+ 0x9F (
+ 0xB7
+ ) |
+ 0xA0 .. 0xAA (
+ 0x80 .. 0xBF
+ ) |
+ 0xAB (
+ 0x80 .. 0xB2
+ )
+ ) |
+ 0x9B (
+ 0x80 .. 0x83 (
+ 0x80 .. 0xBF
+ ) |
+ 0x84 (
+ 0x80 .. 0x9E
+ ) |
+ 0x85 (
+ 0x90 .. 0x92 |
+ 0xA4 .. 0xA7 |
+ 0xB0 .. 0xBF
+ ) |
+ 0x86 .. 0x8A (
+ 0x80 .. 0xBF
+ ) |
+ 0x8B (
+ 0x80 .. 0xBB
+ ) |
+ 0xB0 (
+ 0x80 .. 0xBF
+ ) |
+ 0xB1 (
+ 0x80 .. 0xAA |
+ 0xB0 .. 0xBC
+ ) |
+ 0xB2 (
+ 0x80 .. 0x88 |
+ 0x90 .. 0x99
+ )
+ ) |
+ 0x9D (
+ 0x90 (
+ 0x80 .. 0xBF
+ ) |
+ 0x91 (
+ 0x80 .. 0x94 |
+ 0x96 .. 0xBF
+ ) |
+ 0x92 (
+ 0x80 .. 0x9C |
+ 0x9E .. 0x9F |
+ 0xA2 |
+ 0xA5 .. 0xA6 |
+ 0xA9 .. 0xAC |
+ 0xAE .. 0xB9 |
+ 0xBB |
+ 0xBD .. 0xBF
+ ) |
+ 0x93 (
+ 0x80 .. 0x83 |
+ 0x85 .. 0xBF
+ ) |
+ 0x94 (
+ 0x80 .. 0x85 |
+ 0x87 .. 0x8A |
+ 0x8D .. 0x94 |
+ 0x96 .. 0x9C |
+ 0x9E .. 0xB9 |
+ 0xBB .. 0xBE
+ ) |
+ 0x95 (
+ 0x80 .. 0x84 |
+ 0x86 |
+ 0x8A .. 0x90 |
+ 0x92 .. 0xBF
+ ) |
+ 0x96 .. 0x99 (
+ 0x80 .. 0xBF
+ ) |
+ 0x9A (
+ 0x80 .. 0xA5 |
+ 0xA8 .. 0xBF
+ ) |
+ 0x9B (
+ 0x80 |
+ 0x82 .. 0x9A |
+ 0x9C .. 0xBA |
+ 0xBC .. 0xBF
+ ) |
+ 0x9C (
+ 0x80 .. 0x94 |
+ 0x96 .. 0xB4 |
+ 0xB6 .. 0xBF
+ ) |
+ 0x9D (
+ 0x80 .. 0x8E |
+ 0x90 .. 0xAE |
+ 0xB0 .. 0xBF
+ ) |
+ 0x9E (
+ 0x80 .. 0x88 |
+ 0x8A .. 0xA8 |
+ 0xAA .. 0xBF
+ ) |
+ 0x9F (
+ 0x80 .. 0x82 |
+ 0x84 .. 0x8B
+ )
+ ) |
+ 0x9E (
+ 0x84 (
+ 0x80 .. 0xAC |
+ 0xB7 .. 0xBD
+ ) |
+ 0x85 (
+ 0x8E
+ ) |
+ 0x8B (
+ 0x80 .. 0xAB
+ ) |
+ 0xA0 .. 0xA2 (
+ 0x80 .. 0xBF
+ ) |
+ 0xA3 (
+ 0x80 .. 0x84
+ ) |
+ 0xA4 (
+ 0x80 .. 0xBF
+ ) |
+ 0xA5 (
+ 0x80 .. 0x83 |
+ 0x8B
+ ) |
+ 0xB8 (
+ 0x80 .. 0x83 |
+ 0x85 .. 0x9F |
+ 0xA1 .. 0xA2 |
+ 0xA4 |
+ 0xA7 |
+ 0xA9 .. 0xB2 |
+ 0xB4 .. 0xB7 |
+ 0xB9 |
+ 0xBB
+ ) |
+ 0xB9 (
+ 0x82 |
+ 0x87 |
+ 0x89 |
+ 0x8B |
+ 0x8D .. 0x8F |
+ 0x91 .. 0x92 |
+ 0x94 |
+ 0x97 |
+ 0x99 |
+ 0x9B |
+ 0x9D |
+ 0x9F |
+ 0xA1 .. 0xA2 |
+ 0xA4 |
+ 0xA7 .. 0xAA |
+ 0xAC .. 0xB2 |
+ 0xB4 .. 0xB7 |
+ 0xB9 .. 0xBC |
+ 0xBE
+ ) |
+ 0xBA (
+ 0x80 .. 0x89 |
+ 0x8B .. 0x9B |
+ 0xA1 .. 0xA3 |
+ 0xA5 .. 0xA9 |
+ 0xAB .. 0xBB
+ )
+ ) |
+ 0xA0 (
+ 0x80 (
+ 0x80
+ )
+ ) |
+ 0xAA (
+ 0x9B (
+ 0x96
+ ) |
+ 0x9C (
+ 0x80
+ )
+ ) |
+ 0xAB (
+ 0x9C (
+ 0xB4
+ ) |
+ 0x9D (
+ 0x80
+ ) |
+ 0xA0 (
+ 0x9D |
+ 0xA0
+ )
+ ) |
+ 0xAC (
+ 0xBA (
+ 0xA1 |
+ 0xB0
+ )
+ ) |
+ 0xAE (
+ 0xAF (
+ 0xA0
+ )
+ ) |
+ 0xAF (
+ 0xA0 .. 0xA7 (
+ 0x80 .. 0xBF
+ ) |
+ 0xA8 (
+ 0x80 .. 0x9D
+ )
+ )
+ )
+/
+rl unicode_digit /
+ 0x30 .. 0x39 |
+ 0xD9 (
+ 0xA0 .. 0xA9
+ ) |
+ 0xDB (
+ 0xB0 .. 0xB9
+ ) |
+ 0xDF (
+ 0x80 .. 0x89
+ ) |
+ 0xE0 (
+ 0xA5 (
+ 0xA6 .. 0xAF
+ ) |
+ 0xA7 (
+ 0xA6 .. 0xAF
+ ) |
+ 0xA9 (
+ 0xA6 .. 0xAF
+ ) |
+ 0xAB (
+ 0xA6 .. 0xAF
+ ) |
+ 0xAD (
+ 0xA6 .. 0xAF
+ ) |
+ 0xAF (
+ 0xA6 .. 0xAF
+ ) |
+ 0xB1 (
+ 0xA6 .. 0xAF
+ ) |
+ 0xB3 (
+ 0xA6 .. 0xAF
+ ) |
+ 0xB5 (
+ 0xA6 .. 0xAF
+ ) |
+ 0xB7 (
+ 0xA6 .. 0xAF
+ ) |
+ 0xB9 (
+ 0x90 .. 0x99
+ ) |
+ 0xBB (
+ 0x90 .. 0x99
+ ) |
+ 0xBC (
+ 0xA0 .. 0xA9
+ )
+ ) |
+ 0xE1 (
+ 0x81 (
+ 0x80 .. 0x89
+ ) |
+ 0x82 (
+ 0x90 .. 0x99
+ ) |
+ 0x9F (
+ 0xA0 .. 0xA9
+ ) |
+ 0xA0 (
+ 0x90 .. 0x99
+ ) |
+ 0xA5 (
+ 0x86 .. 0x8F
+ ) |
+ 0xA7 (
+ 0x90 .. 0x99
+ ) |
+ 0xAA (
+ 0x80 .. 0x89 |
+ 0x90 .. 0x99
+ ) |
+ 0xAD (
+ 0x90 .. 0x99
+ ) |
+ 0xAE (
+ 0xB0 .. 0xB9
+ ) |
+ 0xB1 (
+ 0x80 .. 0x89 |
+ 0x90 .. 0x99
+ )
+ ) |
+ 0xEA (
+ 0x98 (
+ 0xA0 .. 0xA9
+ ) |
+ 0xA3 (
+ 0x90 .. 0x99
+ ) |
+ 0xA4 (
+ 0x80 .. 0x89
+ ) |
+ 0xA7 (
+ 0x90 .. 0x99 |
+ 0xB0 .. 0xB9
+ ) |
+ 0xA9 (
+ 0x90 .. 0x99
+ ) |
+ 0xAF (
+ 0xB0 .. 0xB9
+ )
+ ) |
+ 0xEF (
+ 0xBC (
+ 0x90 .. 0x99
+ )
+ ) |
+ 0xF0 (
+ 0x90 (
+ 0x92 (
+ 0xA0 .. 0xA9
+ ) |
+ 0xB4 (
+ 0xB0 .. 0xB9
+ )
+ ) |
+ 0x91 (
+ 0x81 (
+ 0xA6 .. 0xAF
+ ) |
+ 0x83 (
+ 0xB0 .. 0xB9
+ ) |
+ 0x84 (
+ 0xB6 .. 0xBF
+ ) |
+ 0x87 (
+ 0x90 .. 0x99
+ ) |
+ 0x8B (
+ 0xB0 .. 0xB9
+ ) |
+ 0x91 (
+ 0x90 .. 0x99
+ ) |
+ 0x93 (
+ 0x90 .. 0x99
+ ) |
+ 0x99 (
+ 0x90 .. 0x99
+ ) |
+ 0x9B (
+ 0x80 .. 0x89
+ ) |
+ 0x9C (
+ 0xB0 .. 0xB9
+ ) |
+ 0xA3 (
+ 0xA0 .. 0xA9
+ ) |
+ 0xB1 (
+ 0x90 .. 0x99
+ ) |
+ 0xB5 (
+ 0x90 .. 0x99
+ ) |
+ 0xB6 (
+ 0xA0 .. 0xA9
+ )
+ ) |
+ 0x96 (
+ 0xA9 (
+ 0xA0 .. 0xA9
+ ) |
+ 0xAD (
+ 0x90 .. 0x99
+ )
+ ) |
+ 0x9D (
+ 0x9F (
+ 0x8E .. 0xBF
+ )
+ ) |
+ 0x9E (
+ 0x85 (
+ 0x80 .. 0x89
+ ) |
+ 0x8B (
+ 0xB0 .. 0xB9
+ ) |
+ 0xA5 (
+ 0x90 .. 0x99
+ )
+ )
+ )
+/