aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--grammars/utf8-id.bpeg739
1 files changed, 739 insertions, 0 deletions
diff --git a/grammars/utf8-id.bpeg b/grammars/utf8-id.bpeg
new file mode 100644
index 0000000..978b61f
--- /dev/null
+++ b/grammars/utf8-id.bpeg
@@ -0,0 +1,739 @@
+# Definitions of UTF8-compliant identifiers
+utf8-id: utf8-id-start 0+utf8-id-cont
+
+utf8-id-start:
+ `A-Z
+/ `a-z
+/ \xc2 (\xaa / \xb5 / \xba)
+/ \xc3 (\x80-x96 / \x98-xb6 / \xb8-xbf)
+/ \xc4-xca\x80-xbf
+/ \xcb (\x80-x81 / \x86-x91 / \xa0-xa4 / \xac / \xae)
+/ \xcd (\xb0-xb4 / \xb6-xb7 / \xba-xbd / \xbf)
+/ \xce (\x86 / \x88-x8a / \x8c / \x8e-xa1 / \xa3-xbf)
+/ \xcf (\x80-xb5 / \xb7-xbf)
+/ \xd0-xd2\x80-xbf
+/ \xd2 (\x80-x81 / \x8a-xbf)
+/ \xd3\x80-xbf
+/ \xd4 (\x80-xaf / \xb1-xbf)
+/ \xd5 (\x80-x96 / \x99 / \xa0-xbf)
+/ \xd6\x80-x88
+/ \xd7 (\x90-xaa / \xaf-xb2)
+/ \xd8\xa0-xbf
+/ \xd9 (\x80-x8a / \xae-xaf / \xb1-xbf)
+/ \xda\x80-xbf
+/ \xdb (\x80-x93 / \x95 / \xa5-xa6 / \xae-xaf / \xba-xbc / \xbf)
+/ \xdc (\x90 / \x92-xaf)
+/ \xdd\x8d-xbf
+/ \xde (\x80-xa5 / \xb1)
+/ \xdf (\x8a-xaa / \xb4-xb5 / \xba)
+/ \xe0 (
+ \xa0 (\x80-x95 / \x9a / \xa4 / \xa8)
+ / \xa1 (\x80-x98 / \xa0-xaa)
+ / \xa2 (\xa0-xb4 / \xb6-xbd)
+ / \xa4 (\x84-xb9 / \xbd)
+ / \xa5 (\x90 / \x98-xa1 / \xb1-xbf)
+ / \xa6 (\x80 / \x85-x8c / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2 / \xb6-xb9 / \xbd)
+ / \xa7 (\x8e / \x9c-x9d / \x9f-xa1 / \xb0-xb1 / \xbc)
+ / \xa8 (\x85-x8a / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb6 / \xb8-xb9)
+ / \xa9 (\x99-x9c / \x9e / \xb2-xb4)
+ / \xaa (\x85-x8d / \x8f-x91 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb9 / \xbd)
+ / \xab (\x90 / \xa0-xa1 / \xb9)
+ / \xac (\x85-x8c / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb9 / \xbd)
+ / \xad (\x9c-x9d / \x9f-xa1 / \xb1)
+ / \xae (\x83 / \x85-x8a / \x8e-x90 / \x92-x95 / \x99-x9a / \x9c / \x9e-x9f / \xa3-xa4 / \xa8-xaa / \xae-xb9) / \xaf\x90
+ / \xb0 (\x85-x8c / \x8e-x90 / \x92-xa8 / \xaa-xb9 / \xbd)
+ / \xb1 (\x98-x9a / \xa0-xa1)
+ / \xb2 (\x80 / \x85-x8c / \x8e-x90 / \x92-xa8 / \xaa-xb3 / \xb5-xb9 / \xbd)
+ / \xb3 (\x9e / \xa0-xa1 / \xb1-xb2)
+ / \xb4 (\x85-x8c / \x8e-x90 / \x92-xba / \xbd)
+ / \xb5 (\x8e / \x94-x96 / \x9f-xa1 / \xba-xbf)
+ / \xb6 (\x85-x96 / \x9a-xb1 / \xb3-xbb / \xbd)
+ / \xb7\x80-x86
+ / \xb8 (\x81-xb0 / \xb2-xb3)
+ / \xb9 (\x80-x85 / \x86)
+ / \xba (\x81-x82 / \x84 / \x86-x8a / \x8c-xa3 / \xa5 / \xa7-xb0 / \xb2-xb3 / \xbd)
+ / \xbb (\x80-x84 / \x86 / \x9c-x9f)
+ / \xbc\x80
+ / \xbd (\x80-x87 / \x89-xac)
+ / \xbe\x88-x8c
+)
+/ \xe1 (
+ \x80 (\x80-xaa / \xbf)
+ / \x81 (\x90-x95 / \x9a-x9d / \xa1 / \xa5-xa6 / \xae-xb0 / \xb5-xbf)
+ / \x82 (\x80-x81 / \x8e / \xa0-xbf)
+ / \x83 (\x80-x85 / \x87 / \x8d / \x90-xba / \xbc / \xbd-xbf)
+ / \x84-x88\x80-xbf
+ / \x89 (\x80-x88 / \x8a-x8d / \x90-x96 / \x98 / \x9a-x9d / \xa0-xbf)
+ / \x8a (\x80-x88 / \x8a-x8d / \x90-xb0 / \xb2-xb5 / \xb8-xbe)
+ / \x8b (\x80 / \x82-x85 / \x88-x96 / \x98-xbf)
+ / \x8c (\x80-x90 / \x92-x95 / \x98-xbf)
+ / \x8d\x80-x9a
+ / \x8e (\x80-x8f / \xa0-xbf)
+ / \x8f (\x80-xb5 / \xb8-xbd)
+ / \x90\x81-xbf
+ / \x91-x98\x80-xbf
+ / \x99 (\x80-xac / \xaf-xbf)
+ / \x9a (\x81-x9a / \xa0-xbf)
+ / \x9b (\x80-xaa / \xae-xb0 / \xb1-xb8)
+ / \x9c (\x80-x8c / \x8e-x91 / \xa0-xb1)
+ / \x9d (\x80-x91 / \xa0-xac / \xae-xb0)
+ / \x9e\x80-xb3
+ / \x9f (\x97 / \x9c)
+ / \xa0\xa0-xbf
+ / \xa1\x80-xb8
+ / \xa2 (\x80-xa8 / \xaa / \xb0-xbf)
+ / \xa3\x80-xb5
+ / \xa4\x80-x9e
+ / \xa5 (\x90-xad / \xb0-xb4)
+ / \xa6 (\x80-xab / \xb0-xbf)
+ / \xa7\x80-x89
+ / \xa8 (\x80-x96 / \xa0-xbf)
+ / \xa9\x80-x94
+ / \xaa\xa7
+ / \xac\x85-xb3
+ / \xad\x85-x8b
+ / \xae (\x83-xa0 / \xae-xaf / \xba-xbf)
+ / \xaf\x80-xa5
+ / \xb0\x80-xa3
+ / \xb1 (\x8d-x8f / \x9a-xbd)
+ / \xb2 (\x80-x88 / \x90-xba / \xbd-xbf)
+ / \xb3 (\xa9-xac / \xae-xb3 / \xb5-xb6 / \xba)
+ / \xb4 (\x80-xab / \xac-xbf)
+ / \xb5-xbb\x80-xbf
+ / \xbc (\x80-x95 / \x98-x9d / \xa0-xbf)
+ / \xbd (\x80-x85 / \x88-x8d / \x90-x97 / \x99 / \x9b / \x9d / \x9f-xbd)
+ / \xbe (\x80-xb4 / \xb6-xbc / \xbe)
+ / \xbf (\x82-x84 / \x86-x8c / \x90-x93 / \x96-x9b / \xa0-xac / \xb2-xb4 / \xb6-xbc)
+)
+/ \xe2 (
+ \x81 (\xb1 / \xbf)
+ / \x82\x90-x9c
+ / \x84 (\x82 / \x87 / \x8a-x93 / \x95 / \x98-x9d / \xa4 / \xa6 / \xa8 / \xaa-xb9 / \xbc-xbf)
+ / \x85 (\x85-x89 / \x8e / \xa0-xbf)
+ / \x86\x80-x88
+ / \xb0 (\x80-xae / \xb0-xbf)
+ / \xb1 (\x80-x9e / \xa0-xbf)
+ / \xb2\x80-xbf
+ / \xb3 (\x80-xa4 / \xab-xae / \xb2-xb3)
+ / \xb4 (\x80-xa5 / \xa7 / \xad / \xb0-xbf)
+ / \xb5 (\x80-xa7 / \xaf)
+ / \xb6 (\x80-x96 / \xa0-xa6 / \xa8-xae / \xb0-xb6 / \xb8-xbe)
+ / \xb7 (\x80-x86 / \x88-x8e / \x90-x96 / \x98-x9e)
+)
+/ \xe3 (
+ \x80 (\x85-x87 / \xa1-xa9 / \xb1-xb5 / \xb8-xba / \xbb-xbc)
+ / \x81\x81-xbf
+ / \x82 (\x80-x96 / \x9b-x9f / \xa1-xbf)
+ / \x83 (\x80-xba / \xbc-xbe / \xbf)
+ / \x84 (\x85-xaf / \xb1-xbf)
+ / \x85\x80-xbf
+ / \x86 (\x80-x8e / \xa0-xba)
+ / \x87\xb0-xbf
+ / \x90-xbf\x80-xbf
+)
+/ \xe4 (\x80-xb5\x80-xbf / \xb6\x80-xb5 / \xb8-xbf\x80-xbf)
+/ \xe5-xe8\x80-xbf\x80-xbf
+/ \xe9 (\x80-xbe\x80-xbf / \xbf\x80-xaf)
+/ \xea (
+ \x80-x91\x80-xbf
+ / \x92\x80-x8c
+ / \x93\x90-xbd
+ / \x94-x97\x80-xbf
+ / \x98 (\x80-x8c / \x90-x9f / \xaa-xab)
+ / \x99 (\x80-xae / \xbf)
+ / \x9a (\x80-x9d / \xa0-xbf)
+ / \x9b\x80-xaf
+ / \x9c (\x97-x9f / \xa2-xbf)
+ / \x9d\x80-xbf
+ / \x9e (\x80-x88 / \x8b-xbf)
+ / \x9f (\x82-x86 / \xb7-xbf)
+ / \xa0 (\x80-x81 / \x83-x85 / \x87-x8a / \x8c-xa2)
+ / \xa1\x80-xb3
+ / \xa2\x82-xb3
+ / \xa3 (\xb2-xb7 / \xbb / \xbd-xbe)
+ / \xa4 (\x8a-xa5 / \xb0-xbf)
+ / \xa5 (\x80-x86 / \xa0-xbc)
+ / \xa6\x84-xb2
+ / \xa7 (\x8f / \xa0-xa4 / \xa6 / \xa7-xaf / \xba-xbe)
+ / \xa8\x80-xa8
+ / \xa9 (\x80-x82 / \x84-x8b / \xa0-xb6 / \xba / \xbe-xbf)
+ / \xaa (\x80-xaf / \xb1 / \xb5-xb6 / \xb9-xbd)
+ / \xab (\x80 / \x82 / \x9b-x9d / \xa0-xaa / \xb2-xb4)
+ / \xac (\x81-x86 / \x89-x8e / \x91-x96 / \xa0-xa6 / \xa8-xae / \xb0-xbf)
+ / \xad (\x80-x9a / \x9c-x9f / \xa0-xa7 / \xb0-xbf)
+ / \xae\x80-xbf
+ / \xaf\x80-xa2
+ / \xb0-xbf\x80-xbf
+)
+/ \xeb-xec\x80-xbf\x80-xbf
+/ \xed (
+ \x80-x9d\x80-xbf
+ / \x9e (\x80-xa3 / \xb0-xbf)
+ / \x9f (\x80-x86 / \x8b-xbb)
+)
+/ \xef (
+ \xa4-xa8\x80-xbf
+ / \xa9 (\x80-xad / \xb0-xbf)
+ / \xaa\x80-xbf
+ / \xab\x80-x99
+ / \xac (\x80-x86 / \x93-x97 / \x9d / \x9f-xa8 / \xaa-xb6 / \xb8-xbc / \xbe)
+ / \xad (\x80-x81 / \x83-x84 / \x86-xbf)
+ / \xae\x80-xb1
+ / \xaf\x93-xbf
+ / \xb0-b3\x80-xbf
+ / \xb4\x80-xbd
+ / \xb5\x90-xbf
+ / \xb6 (\x80-x8f / \x92-xbf)
+ / \xb7 (\x80-x87 / \xb0-xbb)
+ / \xb9 (\xb0-xb4 / \xb6-xbf)
+ / \xba\x80-xbf
+ / \xbb\x80-xbc
+ / \xbc\xa1-xba
+ / \xbd (\x81-x9a / \xa6-xaf / \xb0-xbf)
+ / \xbe\x80-xbe
+ / \xbf (\x82-x87 / \x8a-x8f / \x92-x97 / \x9a-x9c)
+)
+/ \xf0 (
+ \x90 (
+ \x80 (\x80-x8b / \x8d-xa6 / \xa8-xba / \xbc-xbd / \xbf)
+ / \x81 (\x80-x8d / \x90-x9d)
+ / \x82\x80-xbf
+ / \x83\x80-xba
+ / \x85\x80-xb4
+ / \x8a (\x80-x9c / \xa0-xbf)
+ / \x8b\x80-x90
+ / \x8c (\x80-x9f / \xad-xbf)
+ / \x8d (\x80-x8a / \x90-xb5)
+ / \x8e (\x80-x9d / \xa0-xbf)
+ / \x8f (\x80-x83 / \x88-x8f / \x91-x95)
+ / \x90-x91\x80-xbf
+ / \x92 (\x80-x9d / \xb0-xbf)
+ / \x93 (\x80-x93 / \x98-xbb)
+ / \x94 (\x80-xa7 / \xb0-xbf)
+ / \x95\x80-xa3
+ / \x98-x9b\x80-xbf
+ / \x9c\x80-xb6
+ / \x9d (\x80-x95 / \xa0-xa7)
+ / \xa0 (\x80-x85 / \x88 / \x8a-xb5 / \xb7-xb8 / \xbc / \xbf)
+ / \xa1 (\x80-x95 / \xa0-xb6)
+ / \xa2\x80-x9e
+ / \xa3 (\xa0-xb2 / \xb4-xb5)
+ / \xa4 (\x80-x95 / \xa0-xb9)
+ / \xa6 (\x80-xb7 / \xbe-xbf)
+ / \xa8 (\x80 / \x90-x93 / \x95-x97 / \x99-xb5)
+ / \xa9\xa0-xbc
+ / \xaa\x80-x9c
+ / \xab (\x80-x87 / \x89-xa4)
+ / \xac\x80-xb5
+ / \xad (\x80-x95 / \xa0-xb2)
+ / \xae\x80-x91
+ / \xb0\x80-xbf
+ / \xb1\x80-x88
+ / \xb2-xb3\x80-xb2
+ / \xb4\x80-xa3
+ / \xbc (\x80-x9c / \xa7 / \xb0-xbf)
+ / \xbd\x80-x85
+ / \xbf\xa0-xb6
+ )
+ / \x91 (
+ \x80\x83-xb7
+ / \x82\x83-xaf
+ / \x83\x90-xa8
+ / \x84\x83-xa6
+ / \x85 (\x84 / \x90-xb2 / \xb6)
+ / \x86\x83-xb2
+ / \x87 (\x81-x84 / \x9a / \x9c)
+ / \x88 (\x80-x91 / \x93-xab)
+ / \x8a (\x80-x86 / \x88 / \x8a-x8d / \x8f-x9d / \x9f-xa8 / \xb0-xbf)
+ / \x8b\x80-x9e
+ / \x8c (\x85-x8c / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb9 / \xbd)
+ / \x8d (\x90 / \x9d-xa1)
+ / \x90\x80-xb4
+ / \x91 (\x87-x8a / \x9f)
+ / \x92\x80-xaf
+ / \x93 (\x84-x85 / \x87)
+ / \x96\x80-xae
+ / \x97\x98-x9b
+ / \x98\x80-xaf
+ / \x99\x84
+ / \x9a (\x80-xaa / \xb8)
+ / \x9c\x80-x9a
+ / \xa0\x80-xab
+ / \xa2\xa0-xbf
+ / \xa3 (\x80-x9f / \xbf)
+ / \xa6 (\xa0-xa7 / \xaa-xbf)
+ / \xa7 (\x80-x90 / \xa1 / \xa3)
+ / \xa8 (\x80 / \x8b-xb2 / \xba)
+ / \xa9 (\x90 / \x9c-xbf)
+ / \xaa (\x80-x89 / \x9d)
+ / \xab\x80-xb8
+ / \xb0 (\x80-x88 / \x8a-xae)
+ / \xb1 (\x80 / \xb2-xbf)
+ / \xb2\x80-x8f
+ / \xb4 (\x80-x86 / \x88-x89 / \x8b-xb0)
+ / \xb5 (\x86 / \xa0-xa5 / \xa7-xa8 / \xaa-xbf)
+ / \xb6 (\x80-x89 / \x98)
+ / \xbb\xa0-xb2
+ )
+ / \x92 (\x80-x8d\x80-xbf / \x8e\x80-x99 / \x90\x80-xbf / \x91\x80-xae / \x92-x94\x80-xbf / \x95\x80-x83)
+ / \x93 (\x80-x8f\x80-xbf / \x90\x80-xae)
+ / \x94 (\x90-x98\x80-xbf / \x99\x80-x86)
+ / \x96 (
+ \xa0-xa7\x80-xbf
+ / \xa8\x80-xb8
+ / \xa9\x80-x9e
+ / \xab\x90-xad
+ / \xac\x80-xaf
+ / \xad (\x80-x83 / \xa3-xb7 / \xbd-xbf)
+ / \xae\x80-x8f
+ / \xb9-xbc\x80-xbf
+ / \xbd (\x80-x8a / \x90)
+ / \xbe\x93-x9f
+ / \xbf (\xa0-xa1 / \xa3)
+ )
+ / \x97\x80-xbf\x80-xbf
+ / \x98 (\x80-x9e\x80-xbf / \x9f\x80-xb7 / \xa0-xaa\x80-xbf / \xab\x80-xb2)
+ / \x9b (
+ \x80-x83\x80-xbf
+ / \x84\x80-x9e
+ / \x85 (\x90-x92 / \xa4-xa7 / \xb0-xbf)
+ / \x86-x8a\x80-xbf
+ / \x8b\x80-xbb
+ / \xb0\x80-xbf
+ / \xb1 (\x80-xaa / \xb0-xbc)
+ / \xb2 (\x80-x88 / \x90-x99)
+ )
+ / \x9d (
+ \x90\x80-xbf
+ / \x91 (\x80-x94 / \x96-xbf)
+ / \x92 (\x80-x9c / \x9e-x9f / \xa2 / \xa5-xa6 / \xa9-xac / \xae-xb9 / \xbb / \xbd-xbf)
+ / \x93 (\x80-x83 / \x85-xbf)
+ / \x94 (\x80-x85 / \x87-x8a / \x8d-x94 / \x96-x9c / \x9e-xb9 / \xbb-xbe)
+ / \x95 (\x80-x84 / \x86 / \x8a-x90 / \x92-xbf)
+ / \x96-x99\x80-xbf
+ / \x9a (\x80-xa5 / \xa8-xbf)
+ / \x9b (\x80 / \x82-x9a / \x9c-xba / \xbc-xbf)
+ / \x9c (\x80-x94 / \x96-xb4 / \xb6-xbf)
+ / \x9d (\x80-x8e / \x90-xae / \xb0-xbf)
+ / \x9e (\x80-x88 / \x8a-xa8 / \xaa-xbf)
+ / \x9f (\x80-x82 / \x84-x8b)
+ )
+ / \x9e (
+ \x84 (\x80-xac / \xb7-xbd)
+ / \x85\x8e
+ / \x8b\x80-xab
+ / \xa0-xa2\x80-xbf
+ / \xa3\x80-x84
+ / \xa4\x80-xbf
+ / \xa5 (\x80-x83 / \x8b)
+ / \xb8 (\x80-x83 / \x85-x9f / \xa1-xa2 / \xa4 / \xa7 / \xa9-xb2 / \xb4-xb7 / \xb9 / \xbb)
+ / \xb9 (\x82 / \x87 / \x89 / \x8b / \x8d-x8f / \x91-x92 / \x94 / \x97 / \x99 / \x9b / \x9d / \x9f / \xa1-xa2 / \xa4 / \xa7-xaa / \xac-xb2 / \xb4-xb7 / \xb9-xbc / \xbe)
+ / \xba (\x80-x89 / \x8b-x9b / \xa1-xa3 / \xa5-xa9 / \xab-xbb)
+ )
+ / \xa0-xa9\x80-xbf\x80-xbf
+ / \xaa (\x80-x9a\x80-xbf / \x9b\x80-x96 / \x9c-xbf\x80-xbf)
+ / \xab (
+ \x80-x9b\x80-xbf
+ / \x9c\x80-xb4
+ / \x9d-x9f\x80-xbf
+ / \xa0 (\x80-x9d / \xa0-xbf)
+ / \xa1-xbf\x80-xbf
+ )
+ / \xac (
+ \x80-xb9\x80-xbf
+ / \xba (\x80-xa1 / \xb0-xbf)
+ / \xbb-xbf\x80-xbf
+ )
+ / \xad\x80-xbf\x80-xbf
+ / \xae (\x80-xae\x80-xbf / \xaf\x80-xa0)
+ / \xaf (\xa0-xa7\x80-xbf / \xa8\x80-x9d)
+)
+
+utf8-id-cont:
+ `0-9
+/ `A-Z
+/ `_
+/ `a-z
+/ \xc2 (\xaa / \xb5 / \xb7 / \xba)
+/ \xc3 (\x80-x96 / \x98-xb6 / \xb8-xbf)
+/ \xc4-xca\x80-xbf
+/ \xcb (\x80-x81 / \x86-x91 / \xa0-xa4 / \xac / \xae)
+/ \xcc\x80-xbf
+/ \xcd (\x80-xb4 / \xb6-xb7 / \xba-xbd / \xbf)
+/ \xce (\x86-x8a / \x8c / \x8e-xa1 / \xa3-xbf)
+/ \xcf (\x80-xb5 / \xb7-xbf)
+/ \xd0-xd1\x80-xbf
+/ \xd2 (\x80-x81 / \x83-x87 / \x8a-xbf)
+/ \xd3\x80-xbf
+/ \xd4 (\x80-xaf / \xb1-xbf)
+/ \xd5 (\x80-x96 / \x99 / \xa0-xbf)
+/ \xd6 (\x80-x88 / \x91-xbd / \xbf)
+/ \xd7 (\x81-x82 / \x84-x85 / \x87 / \x90-xaa / \xaf-xb2)
+/ \xd8 (\x90-x9a / \xa0-xbf)
+/ \xd9 (\x80-xa9 / \xae-xbf)
+/ \xda\x80-xbf
+/ \xdb (\x80-x93 / \x95-x9c / \x9f-xa8 / \xaa-xbc / \xbf)
+/ \xdc\x90-xbf
+/ \xdd (\x80-x8a / \x8d-xbf)
+/ \xde\x80-xb1
+/ \xdf (\x80-xb5 / \xba / \xbd)
+/ \xe0 (
+ \xa0\x80-xad
+ / \xa1 (\x80-x9b / \xa0-xaa)
+ / \xa2 (\xa0-xb4 / \xb6-xbd)
+ / \xa3 (\x93-xa1 / \xa3-xbf)
+ / \xa4\x80-xbf
+ / \xa5 (\x80-xa3 / \xa6-xaf / \xb1-xbf)
+ / \xa6 (\x80-x83 / \x85-x8c / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2 / \xb6-xb9 / \xbc-xbf)
+ / \xa7 (\x80-x84 / \x87-x88 / \x8b-x8e / \x97 / \x9c-x9d / \x9f-xa3 / \xa6-xb1 / \xbc / \xbe)
+ / \xa8 (\x81-x83 / \x85-x8a / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb6 / \xb8-xb9 / \xbc / \xbe-xbf)
+ / \xa9 (\x80-x82 / \x87-x88 / \x8b-x8d / \x91 / \x99-x9c / \x9e / \xa6-xb5)
+ / \xaa (\x81-x83 / \x85-x8d / \x8f-x91 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb9 / \xbc-xbf)
+ / \xab (\x80-x85 / \x87-x89 / \x8b-x8d / \x90 / \xa0-xa3 / \xa6-xaf / \xb9-xbf)
+ / \xac (\x81-x83 / \x85-x8c / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb9 / \xbc-xbf)
+ / \xad (\x80-x84 / \x87-x88 / \x8b-x8d / \x96-x97 / \x9c-x9d / \x9f-xa3 / \xa6-xaf / \xb1)
+ / \xae (\x82-x83 / \x85-x8a / \x8e-x90 / \x92-x95 / \x99-x9a / \x9c / \x9e-x9f / \xa3-xa4 / \xa8-xaa / \xae-xb9 / \xbe-xbf)
+ / \xaf (\x80-x82 / \x86-x88 / \x8a-x8d / \x90 / \x97 / \xa6-xaf)
+ / \xb0 (\x80-x8c / \x8e-x90 / \x92-xa8 / \xaa-xb9 / \xbd-xbf)
+ / \xb1 (\x80-x84 / \x86-x88 / \x8a-x8d / \x95-x96 / \x98-x9a / \xa0-xa3 / \xa6-xaf)
+ / \xb2 (\x80-x83 / \x85-x8c / \x8e-x90 / \x92-xa8 / \xaa-xb3 / \xb5-xb9 / \xbc-xbf)
+ / \xb3 (\x80-x84 / \x86-x88 / \x8a-x8d / \x95-x96 / \x9e / \xa0-xa3 / \xa6-xaf / \xb1-xb2)
+ / \xb4 (\x80-x83 / \x85-x8c / \x8e-x90 / \x92-xbf)
+ / \xb5 (\x80-x84 / \x86-x88 / \x8a-x8e / \x94-x97 / \x9f-xa3 / \xa6-xaf / \xba-xbf)
+ / \xb6 (\x82-x83 / \x85-x96 / \x9a-xb1 / \xb3-xbb / \xbd)
+ / \xb7 (\x80-x86 / \x8a / \x8f-x94 / \x96 / \x98-x9f / \xa6-xaf / \xb2-xb3)
+ / \xb8\x81-xba
+ / \xb9 (\x80-x8e / \x90-x99)
+ / \xba (\x81-x82 / \x84 / \x86-x8a / \x8c-xa3 / \xa5 / \xa7-xbd)
+ / \xbb (\x80-x84 / \x86 / \x88-x8d / \x90-x99 / \x9c-x9f)
+ / \xbc (\x80 / \x98-x99 / \xa0-xa9 / \xb5 / \xb7 / \xb9 / \xbe-xbf)
+ / \xbd (\x80-x87 / \x89-xac / \xb1-xbf)
+ / \xbe (\x80-x84 / \x86-x97 / \x99-xbc)
+ / \xbf\x86
+)
+/ \xe1 (
+ \x80\x80-xbf
+ / \x81 (\x80-x89 / \x90-xbf)
+ / \x82 (\x80-x9d / \xa0-xbf)
+ / \x83 (\x80-x85 / \x87 / \x8d / \x90-xba / \xbc-xbf)
+ / \x84-x88\x80-xbf
+ / \x89 (\x80-x88 / \x8a-x8d / \x90-x96 / \x98 / \x9a-x9d / \xa0-xbf)
+ / \x8a (
+ \x80-x88
+ / \x8a-x8d
+ / \x90-xb0
+ / \xb2-xb5
+ / \xb8-xbe
+ )
+ / \x8b (\x80 / \x82-x85 / \x88-x96 / \x98-xbf)
+ / \x8c (\x80-x90 / \x92-x95 / \x98-xbf)
+ / \x8d (\x80-x9a / \x9d-x9f / \xa9-xb1)
+ / \x8e (\x80-x8f / \xa0-xbf)
+ / \x8f (\x80-xb5 / \xb8-xbd)
+ / \x90\x81-xbf
+ / \x91\x80-xbf
+ / \x99 (\x80-xac / \xaf-xbf)
+ / \x9a (\x81-x9a / \xa0-xbf)
+ / \x9b (\x80-xaa / \xae-xb8)
+ / \x9c (\x80-x8c / \x8e-x94 / \xa0-xb4)
+ / \x9d (\x80-x93 / \xa0-xac / \xae-xb0 / \xb2-xb3)
+ / \x9e\x80-xbf
+ / \x9f (\x80-x93 / \x97 / \x9c-x9d / \xa0-xa9)
+ / \xa0 (\x8b-x8d / \x90-x99 / \xa0-xbf)
+ / \xa1\x80-xb8
+ / \xa2 (\x80-xaa / \xb0-xbf)
+ / \xa3\x80-xb5
+ / \xa4 (\x80-x9e / \xa0-xab / \xb0-xbb)
+ / \xa5 (\x86-xad / \xb0-xb4)
+ / \xa6 (\x80-xab / \xb0-xbf)
+ / \xa7 (\x80-x89 / \x90-x9a)
+ / \xa8 (\x80-x9b / \xa0-xbf)
+ / \xa9 (\x80-x9e / \xa0-xbc / \xbf)
+ / \xaa (\x80-x89 / \x90-x99 / \xa7 / \xb0-xbd)
+ / \xac\x80-xbf
+ / \xad (\x80-x8b / \x90-x99 / \xab-xb3)
+ / \xae\x80-xbf
+ / \xaf\x80-xb3
+ / \xb0\x80-xb7
+ / \xb1 (\x80-x89 / \x8d-xbd)
+ / \xb2 (\x80-x88 / \x90-xba / \xbd-xbf)
+ / \xb3 (\x90-x92 / \x94-xba)
+ / \xb4-xb6\x80-xbf
+ / \xb7 (\x80-xb9 / \xbb-xbf)
+ / \xb8-xbb\x80-xbf
+ / \xbc (\x80-x95 / \x98-x9d / \xa0-xbf)
+ / \xbd (\x80-x85 / \x88-x8d / \x90-x97 / \x99 / \x9b / \x9d / \x9f-xbd)
+ / \xbe (\x80-xb4 / \xb6-xbc / \xbe)
+ / \xbf (\x82-x84 / \x86-x8c / \x90-x93 / \x96-x9b / \xa0-xac / \xb2-xb4 / \xb6-xbc)
+)
+/ \xe2 (
+ \x80\xbf
+ / \x81 (\x80 / \x94 / \xb1 / \xbf)
+ / \x82\x90-x9c
+ / \x83 (\x90-x9c / \xa1 / \xa5-xb0)
+ / \x84 (\x82 / \x87 / \x8a-x93 / \x95 / \x98-x9d / \xa4 / \xa6 / \xa8 / \xaa-xb9 / \xbc-xbf)
+ / \x85 (\x85-x89 / \x8e / \xa0-xbf)
+ / \x86\x80-x88
+ / \xb0 (\x80-xae / \xb0-xbf)
+ / \xb1 (\x80-x9e / \xa0-xbf)
+ / \xb2\x80-xbf
+ / \xb3 (\x80-xa4 / \xab-xb3)
+ / \xb4 (\x80-xa5 / \xa7 / \xad / \xb0-xbf)
+ / \xb5 (\x80-xa7 / \xaf / \xbf)
+ / \xb6 (\x80-x96 / \xa0-xa6 / \xa8-xae / \xb0-xb6 / \xb8-xbe)
+ / \xb7 (\x80-x86 / \x88-x8e / \x90-x96 / \x98-x9e / \xa0-xbf)
+)
+/ \xe3 (
+ \x80 (\x85-x87 / \xa1-xaf / \xb1-xb5 / \xb8-xbc)
+ / \x81\x81-xbf
+ / \x82 (\x80-x96 / \x99-x9f / \xa1-xbf)
+ / \x83 (\x80-xba / \xbc-xbf)
+ / \x84 (\x85-xaf / \xb1-xbf)
+ / \x85\x80-xbf
+ / \x86 (\x80-x8e / \xa0-xba)
+ / \x87\xb0-xbf
+ / \x90-xbf\x80-xbf
+)
+/ \xe4 (\x80-xb5\x80-xbf / \xb6\x80-xb5 / \xb8-xbf\x80-xbf)
+/ \xe5-xe8\x80-xbf\x80-xbf
+/ \xe9 (\x80-xbe\x80-xbf / \xbf\x80-xaf)
+/ \xea (
+ \x80-x91\x80-xbf
+ / \x92\x80-x8c
+ / \x93\x90-xbd
+ / \x94-x97\x80-xbf
+ / \x98 (\x80-x8c / \x90-xab)
+ / \x99 (\x80-xaf / \xb4-xbd / \xbf)
+ / \x9a\x80-xbf
+ / \x9b\x80-xb1
+ / \x9c (\x97-x9f / \xa2-xbf)
+ / \x9d\x80-xbf
+ / \x9e (\x80-x88 / \x8b-xbf)
+ / \x9f (\x82-x86 / \xb7-xbf)
+ / \xa0\x80-xa7
+ / \xa1\x80-xb3
+ / \xa2\x80-xbf
+ / \xa3 (\x80-x85 / \x90-x99 / \xa0-xb7 / \xbb / \xbd-xbf)
+ / \xa4 (\x80-xad / \xb0-xbf)
+ / \xa5 (\x80-x93 / \xa0-xbc)
+ / \xa6\x80-xbf
+ / \xa7 (\x80 / \x8f-x99 / \xa0-xbe)
+ / \xa8\x80-xb6
+ / \xa9 (\x80-x8d / \x90-x99 / \xa0-xb6 / \xba-xbf)
+ / \xaa\x80-xbf
+ / \xab (\x80-x82 / \x9b-x9d / \xa0-xaf / \xb2-xb6)
+ / \xac (\x81-x86 / \x89-x8e / \x91-x96 / \xa0-xa6 / \xa8-xae / \xb0-xbf)
+ / \xad (\x80-x9a / \x9c-xa7 / \xb0-xbf)
+ / \xae\x80-xbf
+ / \xaf (\x80-xaa / \xac-xad / \xb0-xb9)
+ / \xb0-xbf\x80-xbf
+)
+/ \xeb\x80-xbf\x80-xbf
+/ \xec\x80-xbf\x80-xbf
+/ \xed (
+ \x80-x9d\x80-xbf
+ / \x9e (\x80-xa3 / \xb0-xbf)
+ / \x9f (\x80-x86 / \x8b-xbb)
+)
+/ \xef (
+ \xa4-xa8\x80-xbf
+ / \xa9 (\x80-xad / \xb0-xbf)
+ / \xaa\x80-xbf
+ / \xab\x80-x99
+ / \xac (\x80-x86 / \x93-x97 / \x9d-xa8 / \xaa-xb6 / \xb8-xbc / \xbe)
+ / \xad (\x80-x81 / \x83-x84 / \x86-xbf)
+ / \xae\x80-xb1
+ / \xaf\x93-xbf
+ / \xb0\x80-xbf
+ / \xb1 (\x80-x9d / \x80-xbf / \xa4-xbf)
+ / \xb2-xb3\x80-xbf
+ / \xb4\x80-xbd
+ / \xb5\x90-xbf
+ / \xb6 (\x80-x8f / \x92-xbf)
+ / \xb7 (\x80-x87 / \xb0-xb9 / \xb0-xbb)
+ / \xb8 (\x80-x8f / \xa0-xaf / \xb3-xb4)
+ / \xb9 (\x8d-x8f / \xb0-xb4 / \xb1 / \xb3 / \xb6-xbf / \xb7 / \xb9 / \xbb / \xbd / \xbf)
+ / \xba\x80-xbf
+ / \xbb\x80-xbc
+ / \xbc (\x90-x99 / \xa1-xba / \xbf)
+ / \xbd (\x81-x9a / \xa6-xbf)
+ / \xbe\x80-xbe
+ / \xbf (\x82-x87 / \x8a-x8f / \x92-x97 / \x9a-x9c)
+)
+/ \xf0 (
+ \x90 (
+ \x80 (\x80-x8b / \x8d-xa6 / \xa8-xba / \xbc-xbd / \xbf)
+ / \x81 (\x80-x8d / \x90-x9d)
+ / \x82\x80-xbf
+ / \x83\x80-xba
+ / \x85\x80-xb4
+ / \x87\xbd
+ / \x8a (\x80-x9c / \xa0-xbf)
+ / \x8b (\x80-x90 / \xa0)
+ / \x8c (\x80-x9f / \xad-xbf)
+ / \x8d (\x80-x8a / \x90-xba)
+ / \x8e (\x80-x9d / \xa0-xbf)
+ / \x8f (\x80-x83 / \x88-x8f / \x91-x95)
+ / \x90-x91\x80-xbf
+ / \x92 (\x80-x9d / \xa0-xa9 / \xb0-xbf)
+ / \x93 (\x80-x93 / \x98-xbb)
+ / \x94 (\x80-xa7 / \xb0-xbf)
+ / \x95\x80-xa3
+ / \x98-x9b\x80-xbf
+ / \x9c\x80-xb6
+ / \x9d (\x80-x95 / \xa0-xa7)
+ / \xa0 (\x80-x85 / \x88 / \x8a-xb5 / \xb7-xb8 / \xbc / \xbf)
+ / \xa1 (\x80-x95 / \xa0-xb6)
+ / \xa2\x80-x9e
+ / \xa3 (\xa0-xb2 / \xb4-xb5)
+ / \xa4 (\x80-x95 / \xa0-xb9)
+ / \xa6 (\x80-xb7 / \xbe-xbf)
+ / \xa8 (\x80-x83 / \x85-x86 / \x8c-x93 / \x95-x97 / \x99-xb5 / \xb8-xba / \xbf)
+ / \xa9\xa0-xbc
+ / \xaa\x80-x9c
+ / \xab (\x80-x87 / \x89-xa6)
+ / \xac\x80-xb5
+ / \xad (\x80-x95 / \xa0-xb2)
+ / \xae\x80-x91
+ / \xb0\x80-xbf
+ / \xb1\x80-x88
+ / \xb2\x80-xb2
+ / \xb3\x80-xb2
+ / \xb4 (\x80-xa7 / \xb0-xb9)
+ / \xbc (\x80-x9c / \xa7 / \xb0-xbf)
+ / \xbd\x80-x90
+ / \xbf\xa0-xb6
+ )
+ / \x91 (
+ \x80\x80-xbf
+ / \x81 (\x80-x86 / \xa6-xaf / \xbf)
+ / \x82\x80-xba
+ / \x83 (\x90-xa8 / \xb0-xb9)
+ / \x84 (\x80-xb4 / \xb6-xbf)
+ / \x85 (\x84-x86 / \x90-xb3 / \xb6)
+ / \x86\x80-xbf
+ / \x87 (\x80-x84 / \x89-x8c / \x90-x9a / \x9c)
+ / \x88 (\x80-x91 / \x93-xb7 / \xbe)
+ / \x8a (\x80-x86 / \x88 / \x8a-x8d / \x8f-x9d / \x9f-xa8 / \xb0-xbf)
+ / \x8b (\x80-xaa / \xb0-xb9)
+ / \x8c (\x80-x83 / \x85-x8c / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb9 / \xbb-xbf)
+ / \x8d (\x80-x84 / \x87-x88 / \x8b-x8d / \x90 / \x97 / \x9d-xa3 / \xa6-xac / \xb0-xb4)
+ / \x90\x80-xbf
+ / \x91 (\x80-x8a / \x90-x99 / \x9e-x9f)
+ / \x92\x80-xbf
+ / \x93 (\x80-x85 / \x87 / \x90-x99)
+ / \x96 (\x80-xb5 / \xb8-xbf)
+ / \x97 (\x80 / \x98-x9d)
+ / \x98\x80-xbf
+ / \x99 (\x80 / \x84 / \x90-x99)
+ / \x9a\x80-xb8
+ / \x9b\x80-x89
+ / \x9c (\x80-x9a / \x9d-xab / \xb0-xb9)
+ / \xa0\x80-xba
+ / \xa2\xa0-xbf
+ / \xa3 (\x80-xa9 / \xbf)
+ / \xa6 (\xa0-xa7 / \xaa-xbf)
+ / \xa7 (\x80-x97 / \x9a-xa1 / \xa3-xa4)
+ / \xa8\x80-xbe
+ / \xa9 (\x87 / \x90-xbf)
+ / \xaa (\x80-x99 / \x9d)
+ / \xab\x80-xb8
+ / \xb0 (\x80-x88 / \x8a-xb6 / \xb8-xbf)
+ / \xb1 (\x80 / \x90-x99 / \xb2-xbf)
+ / \xb2 (\x80-x8f / \x92-xa7 / \xa9-xb6)
+ / \xb4 (\x80-x86 / \x88-x89 / \x8b-xb6 / \xba / \xbc-xbd / \xbf)
+ / \xb5 (\x80-x87 / \x90-x99 / \xa0-xa5 / \xa7-xa8 / \xaa-xbf)
+ / \xb6 (\x80-x8e / \x90-x91 / \x93-x98 / \xa0-xa9)
+ / \xbb\xa0-xb6
+ )
+ / \x92 (\x80-x8d\x80-xbf / \x8e\x80-x99 / \x90\x80-xbf / \x91\x80-xae / \x92-x94\x80-xbf / \x95\x80-x83)
+ / \x93 (\x80-x8f\x80-xbf / \x90\x80-xae)
+ / \x94 (\x90-x98\x80-xbf / \x99\x80-x86)
+ / \x96 (
+ \xa0-xa7\x80-xbf
+ / \xa8\x80-xb8
+ / \xa9 (\x80-x9e / \xa0-xa9)
+ / \xab (\x90-xad / \xb0-xb4)
+ / \xac\x80-xb6
+ / \xad (\x80-x83 / \x90-x99 / \xa3-xb7 / \xbd-xbf)
+ / \xae\x80-x8f
+ / \xb9\x80-xbf
+ / \xbc\x80-xbf
+ / \xbd (\x80-x8a / \x8f-xbf)
+ / \xbe (\x80-x87 / \x8f-x9f)
+ / \xbf (\xa0-xa1 / \xa3)
+ )
+ / \x97\x80-xbf\x80-xbf
+ / \x98 (\x80-x9e\x80-xbf / \x9f\x80-xb7 / \xa0-xaa\x80-xbf / \xab\x80-xb2)
+ / \x9b (
+ \x80-x83\x80-xbf
+ / \x84\x80-x9e
+ / \x85 (\x90-x92 / \xa4-xa7 / \xb0-xbf)
+ / \x86-x8a\x80-xbf
+ / \x8b\x80-xbb
+ / \xb0\x80-xbf
+ / \xb1 (\x80-xaa / \xb0-xbc)
+ / \xb2 (\x80-x88 / \x90-x99 / \x9d-x9e)
+ )
+ / \x9d (
+ \x85 (\xa5-xa9 / \xad-xb2 / \xbb-xbf)
+ / \x86 (\x80-x82 / \x85-x8b / \xaa-xad)
+ / \x89\x82-x84
+ / \x90\x80-xbf
+ / \x91 (\x80-x94 / \x96-xbf)
+ / \x92 (\x80-x9c / \x9e-x9f / \xa2 / \xa5-xa6 / \xa9-xac / \xae-xb9 / \xbb / \xbd-xbf)
+ / \x93 (\x80-x83 / \x85-xbf)
+ / \x94 (\x80-x85 / \x87-x8a / \x8d-x94 / \x96-x9c / \x9e-xb9 / \xbb-xbe)
+ / \x95 (\x80-x84 / \x86 / \x8a-x90 / \x92-xbf)
+ / \x96-x99\x80-xbf
+ / \x9a (\x80-xa5 / \xa8-xbf)
+ / \x9b (\x80 / \x82-x9a / \x9c-xba / \xbc-xbf)
+ / \x9c (\x80-x94 / \x96-xb4 / \xb6-xbf)
+ / \x9d (\x80-x8e / \x90-xae / \xb0-xbf)
+ / \x9e (\x80-x88 / \x8a-xa8 / \xaa-xbf)
+ / \x9f (\x80-x82 / \x84-x8b / \x8e-xbf)
+ / \xa8 (\x80-xb6 / \xbb-xbf)
+ / \xa9 (\x80-xac / \xb5)
+ / \xaa (\x84 / \x9b-x9f / \xa1-xaf)
+ )
+ / \x9e (
+ \x80 (\x80-x86 / \x88-x98 / \x9b-xa1 / \xa3-xa4 / \xa6-xaa)
+ / \x84 (\x80-xac / \xb0-xbd)
+ / \x85 (\x80-x89 / \x8e)
+ / \x8b\x80-xb9
+ / \xa0-xa2\x80-xbf
+ / \xa3 (\x80-x84 / \x90-x96)
+ / \xa4\x80-xbf
+ / \xa5 (\x80-x8b / \x90-x99)
+ / \xb8 (\x80-x83 / \x85-x9f / \xa1-xa2 / \xa4 / \xa7 / \xa9-xb2 / \xb4-xb7 / \xb9 / \xbb)
+ / \xb9 (\x82 / \x87 / \x89 / \x8b / \x8d-x8f / \x91-x92 / \x94 / \x97 / \x99 / \x9b / \x9d / \x9f / \xa1-xa2 / \xa4 / \xa7-xaa / \xac-xb2 / \xb4-xb7 / \xb9-xbc / \xbe)
+ / \xba (\x80-x89 / \x8b-x9b / \xa1-xa3 / \xa5-xa9 / \xab-xbb)
+ )
+ / \xa0\x80-xbf\x80-xbf
+ / \xa1\x80-xbf\x80-xbf
+ / \xa2\x80-xbf\x80-xbf
+ / \xa3\x80-xbf\x80-xbf
+ / \xa4\x80-xbf\x80-xbf
+ / \xa5\x80-xbf\x80-xbf
+ / \xa6\x80-xbf\x80-xbf
+ / \xa7\x80-xbf\x80-xbf
+ / \xa8\x80-xbf\x80-xbf
+ / \xa9\x80-xbf\x80-xbf
+ / \xaa (\x80-x9a\x80-xbf / \x9b\x80-x96 / \x9c-xbf\x80-xbf)
+ / \xab (
+ \x80-x9b\x80-xbf
+ / \x9c\x80-xb4
+ / \x9d-x9f\x80-xbf
+ / \xa0 (\x80-x9d / \xa0-xbf)
+ / \xa1-xbf\x80-xbf
+ )
+ / \xac (
+ \x80-xb9\x80-xbf
+ / \xba (\x80-xa1 / \xb0-xbf)
+ / \xbb-xbf\x80-xbf
+ )
+ / \xad\x80-xbf\x80-xbf
+ / \xae (\x80-xae\x80-xbf / \xaf\x80-xa0)
+ / \xaf (\xa0-xa7\x80-xbf / \xa8\x80-x9d)
+)
+/ \xf3\xa0 (\x84-x86\x80-xbf / \x87\x80-xaf)