diff options
56 files changed, 1122 insertions, 19824 deletions
diff --git a/.gitignore b/.gitignore index ac8f67310..ae18ca834 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ # / *.bak +*.d +*.o *.orig *.rej *.sav @@ -14,3 +16,4 @@ cscope.out /src/y.tab.c /bin /build +/lib diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 08995978f..b8db5a7dc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # How to contribute -mruby is an open-source project which is looking forward to each contribution. +mruby is an open-source project which is looking forward to each contribution. ## Your Pull Request @@ -8,10 +8,10 @@ To make it easy to review and understand your change please keep the following things in mind before submitting your pull request: * Work on the latest possible state of **mruby/master** -* Test your changes before creating a pull request (**make test**) +* Create a branch which is dedicated to your change +* Test your changes before creating a pull request (```./minirake test```) * If possible write a test case which confirms your change * Don't mix several features or bug-fixes in one pull request -* Create a branch which is dedicated to your change * Create a meaningful commit message * Explain your change (i.e. with a link to the issue you are fixing) @@ -27,16 +27,16 @@ C code: #### Comply with C99 (ISO/IEC 9899:1999) -mruby should be highly portable to other systems and compilers. For that it is +mruby should be highly portable to other systems and compilers. For this it is recommended to keep your code as close as possible to the C99 standard (http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf). -Although we target C99, VC is also an important target for mruby, so that we -avoid local variable declaration in the middle. +Although we target C99, Visual C++ is also an important target for mruby. For this +reason a declaration of a local variable has to be at the beginning of a scope block. #### Reduce library dependencies to a minimum -The dependencies to libraries should be put to an absolute minimum. This +The dependencies to libraries should be kept to an absolute minimum. This increases the portability but makes it also easier to cut away parts of mruby on-demand. @@ -56,7 +56,7 @@ Use C++ style comments only for temporary comment e.g. commenting out some code ### Ruby code -Parts of the standard library of mruby is written in the Ruby programming language +Parts of the standard library of mruby are written in the Ruby programming language itself. Please note the following hints for your Ruby code: #### Comply with the Ruby standard (ISO/IEC 30170:2012) @@ -32,7 +32,6 @@ load "#{MRUBY_ROOT}/tools/mirb/mirb.rake" load "#{MRUBY_ROOT}/tasks/mrbgems_test.rake" load "#{MRUBY_ROOT}/test/mrbtest.rake" - ############################## # generic build targets, rules task :default => :all @@ -42,7 +41,8 @@ depfiles = MRuby.targets['host'].bins.map do |bin| source_path = MRuby.targets['host'].exefile("#{MRuby.targets['host'].build_dir}/bin/#{bin}") file install_path => source_path do |t| - FileUtils.cp t.prerequisites.first, t.name + FileUtils.rm_f t.name, { :verbose => $verbose } + FileUtils.cp t.prerequisites.first, t.name, { :verbose => $verbose } end install_path @@ -72,8 +72,8 @@ end desc "clean all built and in-repo installed artifacts" task :clean do MRuby.each_target do |t| - FileUtils.rm_rf t.build_dir + FileUtils.rm_rf t.build_dir, { :verbose => $verbose } end - FileUtils.rm_f depfiles + FileUtils.rm_f depfiles, { :verbose => $verbose } puts "Cleaned up build folder" end diff --git a/build_config.rb b/build_config.rb index 2e2f886c5..d3feccd71 100644 --- a/build_config.rb +++ b/build_config.rb @@ -11,6 +11,15 @@ MRuby::Build.new do |conf| # conf.gem :github => 'masuidrive/mrbgems-example', :branch => 'master' # conf.gem :git => '[email protected]:masuidrive/mrbgems-example.git', :branch => 'master', :options => '-v' + # Use standard Math module + conf.gem 'mrbgems/mruby-math' + + # Use standard Time class + conf.gem 'mrbgems/mruby-time' + + # Use standard Struct class + conf.gem 'mrbgems/mruby-struct' + # Generate binaries # conf.bins = %w(mrbc mruby mirb) diff --git a/include/mrbconf.h b/include/mrbconf.h index 164e6554c..613f0575e 100644 --- a/include/mrbconf.h +++ b/include/mrbconf.h @@ -23,7 +23,7 @@ //#define MRB_ENDIAN_BIG /* argv max size in mrb_funcall */ -//#define MRB_FUNCALL_ARGC_MAX 16 +//#define MRB_FUNCALL_ARGC_MAX 16 /* number of object per heap page */ //#define MRB_HEAP_PAGE_SIZE 1024 @@ -48,9 +48,6 @@ /* -DDISABLE_XXXX to drop following features */ //#define DISABLE_SPRINTF /* Kernel.sprintf method */ -//#define DISABLE_MATH /* Math functions */ -//#define DISABLE_TIME /* Time class */ -//#define DISABLE_STRUCT /* Struct class */ //#define DISABLE_STDIO /* use of stdio */ /* -DENABLE_XXXX to enable following features */ @@ -86,21 +83,9 @@ typedef short mrb_sym; /* define ENABLE_XXXX from DISABLE_XXX */ -#ifndef DISABLE_REGEXP -#define ENABLE_REGEXP -#endif #ifndef DISABLE_SPRINTF #define ENABLE_SPRINTF #endif -#ifndef DISABLE_MATH -#define ENABLE_MATH -#endif -#ifndef DISABLE_TIME -#define ENABLE_TIME -#endif -#ifndef DISABLE_STRUCT -#define ENABLE_STRUCT -#endif #ifndef DISABLE_STDIO #define ENABLE_STDIO #endif diff --git a/include/mruby.h b/include/mruby.h index 61df6e9ed..fe97dd055 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -129,9 +129,6 @@ typedef struct mrb_state { mrb_sym symidx; struct kh_n2s *name2sym; /* symbol table */ -#ifdef INCLUDE_REGEXP - struct RNode *local_svar;/* regexp */ -#endif #ifdef ENABLE_DEBUG void (*code_fetch_hook)(struct mrb_state* mrb, struct mrb_irep *irep, mrb_code *pc, mrb_value *regs); diff --git a/include/mruby/array.h b/include/mruby/array.h index c5959bbe6..5d78ccddd 100644 --- a/include/mruby/array.h +++ b/include/mruby/array.h @@ -11,18 +11,18 @@ extern "C" { #endif -struct mrb_shared_array { +typedef struct mrb_shared_array { int refcnt; mrb_value *ptr; - int len; -}; + mrb_int len; +} mrb_shared_array; struct RArray { MRB_OBJECT_HEADER; - int len; + mrb_int len; union { - int capa; - struct mrb_shared_array *shared; + mrb_int capa; + mrb_shared_array *shared; } aux; mrb_value *ptr; }; @@ -35,25 +35,25 @@ struct RArray { #define RARRAY_PTR(a) (RARRAY(a)->ptr) #define MRB_ARY_SHARED 256 -void mrb_ary_decref(mrb_state*, struct mrb_shared_array*); -mrb_value mrb_ary_new_capa(mrb_state*, int); +void mrb_ary_decref(mrb_state*, mrb_shared_array*); +mrb_value mrb_ary_new_capa(mrb_state*, mrb_int); mrb_value mrb_ary_new(mrb_state *mrb); -mrb_value mrb_ary_new_elts(mrb_state *mrb, int n, const mrb_value *elts); +mrb_value mrb_ary_new_elts(mrb_state *mrb, mrb_int n, const mrb_value *elts); void mrb_ary_concat(mrb_state*, mrb_value, mrb_value); mrb_value mrb_ary_splat(mrb_state*, mrb_value); void mrb_ary_push(mrb_state*, mrb_value, mrb_value); mrb_value mrb_ary_pop(mrb_state *mrb, mrb_value ary); -mrb_value mrb_ary_new_from_values(mrb_state *mrb, int size, mrb_value *vals); +mrb_value mrb_ary_new_from_values(mrb_state *mrb, mrb_int size, mrb_value *vals); mrb_value mrb_ary_aget(mrb_state *mrb, mrb_value self); mrb_value mrb_ary_ref(mrb_state *mrb, mrb_value ary, mrb_int n); void mrb_ary_set(mrb_state *mrb, mrb_value ary, mrb_int n, mrb_value val); -int mrb_ary_len(mrb_state *mrb, mrb_value ary); +mrb_int mrb_ary_len(mrb_state *mrb, mrb_value ary); void mrb_ary_replace(mrb_state *mrb, mrb_value a, mrb_value b); mrb_value mrb_check_array_type(mrb_state *mrb, mrb_value self); mrb_value mrb_ary_unshift(mrb_state *mrb, mrb_value self, mrb_value item); -mrb_value mrb_ary_new4(mrb_state *mrb, int n, const mrb_value *elts); +mrb_value mrb_ary_new4(mrb_state *mrb, mrb_int n, const mrb_value *elts); mrb_value mrb_assoc_new(mrb_state *mrb, mrb_value car, mrb_value cdr); -mrb_value mrb_ary_entry(mrb_value ary, int offset); +mrb_value mrb_ary_entry(mrb_value ary, mrb_int offset); mrb_value mrb_ary_shift(mrb_state *mrb, mrb_value self); mrb_value mrb_ary_clear(mrb_state *mrb, mrb_value self); diff --git a/include/mruby/data.h b/include/mruby/data.h index 6492fd6ea..55405e994 100644 --- a/include/mruby/data.h +++ b/include/mruby/data.h @@ -11,19 +11,19 @@ extern "C" { #endif -struct mrb_data_type { +typedef struct mrb_data_type { const char *struct_name; void (*dfree)(mrb_state *mrb, void*); -}; +} mrb_data_type; struct RData { MRB_OBJECT_HEADER; struct iv_tbl *iv; - struct mrb_data_type *type; + mrb_data_type *type; void *data; }; -struct RData *mrb_data_object_alloc(mrb_state *mrb, struct RClass* klass, void *datap, const struct mrb_data_type *type); +struct RData *mrb_data_object_alloc(mrb_state *mrb, struct RClass* klass, void *datap, const mrb_data_type *type); #define Data_Wrap_Struct(mrb,klass,type,ptr)\ mrb_data_object_alloc(mrb,klass,ptr,type) @@ -37,8 +37,8 @@ struct RData *mrb_data_object_alloc(mrb_state *mrb, struct RClass* klass, void * #define RDATA(obj) ((struct RData *)((obj).value.p)) #define DATA_PTR(d) (RDATA(d)->data) #define DATA_TYPE(d) (RDATA(d)->type) -void *mrb_get_datatype(mrb_state *mrb, mrb_value, const struct mrb_data_type*); -void *mrb_check_datatype(mrb_state *mrb, mrb_value, const struct mrb_data_type*); +void *mrb_get_datatype(mrb_state *mrb, mrb_value, const mrb_data_type*); +void *mrb_check_datatype(mrb_state *mrb, mrb_value, const mrb_data_type*); #define Data_Get_Struct(mrb,obj,type,sval) do {\ *(void**)&sval = mrb_check_datatype(mrb, obj, type); \ } while (0) diff --git a/include/mruby/dump.h b/include/mruby/dump.h index eb8fe55dd..8b78e74d0 100644 --- a/include/mruby/dump.h +++ b/include/mruby/dump.h @@ -82,7 +82,7 @@ mrb_value mrb_load_irep_file(mrb_state*,FILE*); #define MRB_DUMP_DEFAULT_STR_LEN 128 //Rite Binary file_header -typedef struct _rite_binary_header { +typedef struct { unsigned char rbfi[4]; //Rite Binary File Identify unsigned char rbfv[8]; //Rite Binary File Format Version unsigned char risv[8]; //Rite Instruction Specification Version @@ -95,7 +95,7 @@ typedef struct _rite_binary_header { } rite_binary_header; // Rite File file_header -typedef struct _rite_file_header { +typedef struct { unsigned char rbfi[4]; //Rite Binary File Identify unsigned char rbfv[8]; //Rite Binary File Format Version unsigned char risv[8]; //Rite Instruction Specification Version diff --git a/include/mruby/range.h b/include/mruby/range.h index 4f1f3803e..a87f1cc6a 100644 --- a/include/mruby/range.h +++ b/include/mruby/range.h @@ -11,14 +11,14 @@ extern "C" { #endif -struct mrb_range_edges { +typedef struct mrb_range_edges { mrb_value beg; mrb_value end; -}; +} mrb_range_edges; struct RRange { MRB_OBJECT_HEADER; - struct mrb_range_edges *edges; + mrb_range_edges *edges; int excl; }; @@ -26,7 +26,7 @@ struct RRange { #define mrb_range_value(p) mrb_obj_value((void*)(p)) mrb_value mrb_range_new(mrb_state*, mrb_value, mrb_value, int); -mrb_int mrb_range_beg_len(mrb_state *mrb, mrb_value range, mrb_int *begp, mrb_int *lenp, mrb_int len, mrb_int err); +mrb_int mrb_range_beg_len(mrb_state *mrb, mrb_value range, mrb_int *begp, mrb_int *lenp, mrb_int len); #if defined(__cplusplus) } /* extern "C" { */ diff --git a/include/mruby/string.h b/include/mruby/string.h index 426cbe9ff..3f661a742 100644 --- a/include/mruby/string.h +++ b/include/mruby/string.h @@ -21,18 +21,18 @@ extern "C" { extern const char mrb_digitmap[]; -struct mrb_shared_string { +typedef struct mrb_shared_string { int refcnt; char *ptr; - int len; -}; + mrb_int len; +} mrb_shared_string; struct RString { MRB_OBJECT_HEADER; - int len; + mrb_int len; union { - int capa; - struct mrb_shared_string *shared; + mrb_int capa; + mrb_shared_string *shared; } aux; char *ptr; }; @@ -45,7 +45,7 @@ struct RString { #define RSTRING_END(s) (RSTRING(s)->ptr + RSTRING(s)->len) #define MRB_STR_SHARED 256 -void mrb_str_decref(mrb_state*, struct mrb_shared_string*); +void mrb_str_decref(mrb_state*, mrb_shared_string*); mrb_value mrb_str_literal(mrb_state*, mrb_value); void mrb_str_concat(mrb_state*, mrb_value, mrb_value); mrb_value mrb_str_plus(mrb_state*, mrb_value, mrb_value); diff --git a/include/mruby/struct.h b/include/mruby/struct.h deleted file mode 100644 index cfe6df135..000000000 --- a/include/mruby/struct.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -** mruby/struct.h - Struct class -** -** See Copyright Notice in mruby.h -*/ - -#ifndef MRUBY_STRUCT_H -#define MRUBY_STRUCT_H - -#if defined(__cplusplus) -extern "C" { -#endif - -struct RStruct { - struct RBasic basic; - long len; - mrb_value *ptr; -}; -#define RSTRUCT(st) ((struct RStruct*)((st).value.p)) -#define RSTRUCT_LEN(st) ((int)(RSTRUCT(st)->len)) -#define RSTRUCT_PTR(st) (RSTRUCT(st)->ptr) - -#if defined(__cplusplus) -} /* extern "C" { */ -#endif - -#endif /* MRUBY_STRUCT_H */ diff --git a/include/mruby/value.h b/include/mruby/value.h index 17f51db94..1dfa7b975 100644 --- a/include/mruby/value.h +++ b/include/mruby/value.h @@ -29,12 +29,11 @@ enum mrb_vtype { MRB_TT_HASH, /* 16 */ MRB_TT_STRING, /* 17 */ MRB_TT_RANGE, /* 18 */ - MRB_TT_STRUCT, /* 19 */ - MRB_TT_EXCEPTION, /* 20 */ - MRB_TT_FILE, /* 21 */ - MRB_TT_ENV, /* 22 */ - MRB_TT_DATA, /* 23 */ - MRB_TT_MAXDEFINE /* 24 */ + MRB_TT_EXCEPTION, /* 19 */ + MRB_TT_FILE, /* 20 */ + MRB_TT_ENV, /* 21 */ + MRB_TT_DATA, /* 22 */ + MRB_TT_MAXDEFINE /* 23 */ }; typedef struct mrb_value { @@ -89,12 +88,11 @@ enum mrb_vtype { MRB_TT_HASH, /* 17 */ MRB_TT_STRING, /* 18 */ MRB_TT_RANGE, /* 19 */ - MRB_TT_STRUCT, /* 20 */ - MRB_TT_EXCEPTION, /* 21 */ - MRB_TT_FILE, /* 22 */ - MRB_TT_ENV, /* 23 */ - MRB_TT_DATA, /* 24 */ - MRB_TT_MAXDEFINE /* 25 */ + MRB_TT_EXCEPTION, /* 20 */ + MRB_TT_FILE, /* 21 */ + MRB_TT_ENV, /* 22 */ + MRB_TT_DATA, /* 23 */ + MRB_TT_MAXDEFINE /* 24 */ }; #ifdef MRB_ENDIAN_BIG diff --git a/mrbgems/mruby-math/mrbgem.rake b/mrbgems/mruby-math/mrbgem.rake new file mode 100644 index 000000000..4b0fa40fd --- /dev/null +++ b/mrbgems/mruby-math/mrbgem.rake @@ -0,0 +1,4 @@ +MRuby::Gem::Specification.new('mruby-math') do |spec| + spec.license = 'MIT' + spec.authors = 'mruby developers' +end diff --git a/src/math.c b/mrbgems/mruby-math/src/math.c index 782b75c97..76058250f 100644 --- a/src/math.c +++ b/mrbgems/mruby-math/src/math.c @@ -7,7 +7,6 @@ #include "mruby.h" #include "mruby/array.h" -#ifdef ENABLE_MATH #include <math.h> #define domain_error(msg) \ @@ -27,13 +26,13 @@ double erfc(double x); -/* +/* ** Implementations of error functions ** credits to http://www.digitalmars.com/archives/cplusplus/3634.html */ /* Implementation of Error function */ -double +double erf(double x) { static const double two_sqrtpi = 1.128379167095512574; @@ -56,24 +55,24 @@ erf(double x) } /* Implementation of complementary Error function */ -double +double erfc(double x) { - static const double one_sqrtpi= 0.564189583547756287; - double a = 1; - double b = x; - double c = x; - double d = x*x+0.5; + static const double one_sqrtpi= 0.564189583547756287; + double a = 1; + double b = x; + double c = x; + double d = x*x+0.5; double q1; double q2 = b/d; double n = 1.0; double t; if (fabs(x) < 2.2) { - return 1.0 - erf(x); - } - if (x < 0.0) { /*signbit(x)*/ - return 2.0 - erfc(-x); - } + return 1.0 - erf(x); + } + if (x < 0.0) { /*signbit(x)*/ + return 2.0 - erfc(-x); + } do { t = a*n+b*x; a = b; @@ -307,7 +306,7 @@ math_asinh(mrb_state *mrb, mrb_value obj) mrb_float x; mrb_get_args(mrb, "f", &x); - + x = asinh(x); return mrb_float_value(x); @@ -478,10 +477,10 @@ static mrb_value math_sqrt(mrb_state *mrb, mrb_value obj) { mrb_float x; - + mrb_get_args(mrb, "f", &x); x = sqrt(x); - + return mrb_float_value(x); } @@ -545,7 +544,7 @@ math_frexp(mrb_state *mrb, mrb_value obj) { mrb_float x; int exp; - + mrb_get_args(mrb, "f", &x); x = frexp(x, &exp); @@ -630,17 +629,17 @@ math_erfc(mrb_state *mrb, mrb_value obj) /* ------------------------------------------------------------------------*/ void -mrb_init_math(mrb_state *mrb) +mrb_mruby_math_gem_init(mrb_state* mrb) { struct RClass *mrb_math; mrb_math = mrb_define_module(mrb, "Math"); - + #ifdef M_PI mrb_define_const(mrb, mrb_math, "PI", mrb_float_value(M_PI)); #else mrb_define_const(mrb, mrb_math, "PI", mrb_float_value(atan(1.0)*4.0)); #endif - + #ifdef M_E mrb_define_const(mrb, mrb_math, "E", mrb_float_value(M_E)); #else @@ -661,7 +660,7 @@ mrb_init_math(mrb_state *mrb) mrb_define_module_function(mrb, mrb_math, "acos", math_acos, ARGS_REQ(1)); mrb_define_module_function(mrb, mrb_math, "atan", math_atan, ARGS_REQ(1)); mrb_define_module_function(mrb, mrb_math, "atan2", math_atan2, ARGS_REQ(2)); - + mrb_define_module_function(mrb, mrb_math, "sinh", math_sinh, ARGS_REQ(1)); mrb_define_module_function(mrb, mrb_math, "cosh", math_cosh, ARGS_REQ(1)); mrb_define_module_function(mrb, mrb_math, "tanh", math_tanh, ARGS_REQ(1)); @@ -685,4 +684,8 @@ mrb_init_math(mrb_state *mrb) mrb_define_module_function(mrb, mrb_math, "erf", math_erf, ARGS_REQ(1)); mrb_define_module_function(mrb, mrb_math, "erfc", math_erfc, ARGS_REQ(1)); } -#endif /* ENABLE_MATH */ + +void +mrb_mruby_math_gem_final(mrb_state* mrb) +{ +} diff --git a/mrbgems/mruby-math/test/math.rb b/mrbgems/mruby-math/test/math.rb new file mode 100644 index 000000000..1cc3a20b0 --- /dev/null +++ b/mrbgems/mruby-math/test/math.rb @@ -0,0 +1,136 @@ +## +# Math Test + +## +# Performs fuzzy check for equality on methods returning floats +# on the basis of the Math::TOLERANCE constant. +def check_float(a, b) + tolerance = Math::TOLERANCE + a = a.to_f + b = b.to_f + if a.finite? and b.finite? + (a-b).abs < tolerance + else + true + end +end + +assert('Math.sin 0') do + check_float(Math.sin(0), 0) +end + +assert('Math.sin PI/2') do + check_float(Math.sin(Math::PI / 2), 1) +end + +assert('Fundamental trig identities') do + result = true + N = 13 + N.times do |i| + a = Math::PI / N * i + ca = Math::PI / 2 - a + s = Math.sin(a) + c = Math.cos(a) + t = Math.tan(a) + result &= check_float(s, Math.cos(ca)) + result &= check_float(t, 1 / Math.tan(ca)) + result &= check_float(s ** 2 + c ** 2, 1) + result &= check_float(t ** 2 + 1, (1/c) ** 2) + result &= check_float((1/t) ** 2 + 1, (1/s) ** 2) + end + result +end + +assert('Math.erf 0') do + check_float(Math.erf(0), 0) +end + +assert('Math.exp 0') do + check_float(Math.exp(0), 1.0) +end + +assert('Math.exp 1') do + check_float(Math.exp(1), 2.718281828459045) +end + +assert('Math.exp 1.5') do + check_float(Math.exp(1.5), 4.4816890703380645) +end + +assert('Math.log 1') do + check_float(Math.log(1), 0) +end + +assert('Math.log E') do + check_float(Math.log(Math::E), 1.0) +end + +assert('Math.log E**3') do + check_float(Math.log(Math::E**3), 3.0) +end + +assert('Math.log2 1') do + check_float(Math.log2(1), 0.0) +end + +assert('Math.log2 2') do + check_float(Math.log2(2), 1.0) +end + +assert('Math.log10 1') do + check_float(Math.log10(1), 0.0) +end + +assert('Math.log10 10') do + check_float(Math.log10(10), 1.0) +end + +assert('Math.log10 10**100') do + check_float(Math.log10(10**100), 100.0) +end + +assert('Math.sqrt') do + num = [0.0, 1.0, 2.0, 3.0, 4.0] + sqr = [0, 1, 4, 9, 16] + result = true + sqr.each_with_index do |v,i| + result &= check_float(Math.sqrt(v), num[i]) + end + result +end + +assert('Math.cbrt') do + num = [-2.0, -1.0, 0.0, 1.0, 2.0] + cub = [-8, -1, 0, 1, 8] + result = true + cub.each_with_index do |v,i| + result &= check_float(Math.cbrt(v), num[i]) + end + result +end + +assert('Math.hypot') do + check_float(Math.hypot(3, 4), 5.0) +end + +assert('Math.frexp 1234') do + n = 1234 + fraction, exponent = Math.frexp(n) + check_float(Math.ldexp(fraction, exponent), n) +end + +assert('Math.erf 1') do + check_float(Math.erf(1), 0.842700792949715) +end + +assert('Math.erfc 1') do + check_float(Math.erfc(1), 0.157299207050285) +end + +assert('Math.erf -1') do + check_float(Math.erf(-1), -0.8427007929497148) +end + +assert('Math.erfc -1') do + check_float(Math.erfc(-1), 1.8427007929497148) +end diff --git a/mrbgems/mruby-struct/mrbgem.rake b/mrbgems/mruby-struct/mrbgem.rake new file mode 100644 index 000000000..476e990da --- /dev/null +++ b/mrbgems/mruby-struct/mrbgem.rake @@ -0,0 +1,4 @@ +MRuby::Gem::Specification.new('mruby-struct') do |spec| + spec.license = 'MIT' + spec.authors = 'mruby developers' +end diff --git a/mrblib/struct.rb b/mrbgems/mruby-struct/mrblib/struct.rb index 5d0ede90f..5d0ede90f 100644 --- a/mrblib/struct.rb +++ b/mrbgems/mruby-struct/mrblib/struct.rb diff --git a/src/struct.c b/mrbgems/mruby-struct/src/struct.c index 5026a6ab4..33997b294 100644 --- a/src/struct.c +++ b/mrbgems/mruby-struct/src/struct.c @@ -4,18 +4,18 @@ ** See Copyright Notice in mruby.h */ -#include "mruby.h" -#ifdef ENABLE_STRUCT #include <string.h> -#include "error.h" -#include "mruby/struct.h" -#include "mruby/array.h" #include <stdarg.h> - +#include "mruby.h" +#include "mruby/array.h" #include "mruby/string.h" #include "mruby/class.h" +#include "mruby/data.h" #include "mruby/variable.h" +#define RSTRUCT_ARY(st) mrb_ary_ptr(st) +#define RSTRUCT_LEN(st) RSTRUCT_ARY(st)->len +#define RSTRUCT_PTR(st) RSTRUCT_ARY(st)->ptr static struct RClass * struct_class(mrb_state *mrb) @@ -28,46 +28,46 @@ struct_ivar_get(mrb_state *mrb, mrb_value c, mrb_sym id) { struct RClass* kclass; struct RClass* sclass = struct_class(mrb); - mrb_value ans; - for (;;) { - ans = mrb_iv_get(mrb, c, id); - if (!mrb_nil_p(ans)) return ans; - kclass = RCLASS_SUPER(c); - if (kclass == 0 || kclass == sclass) - return mrb_nil_value(); - c = mrb_obj_value(kclass); - } + + for (;;) { + ans = mrb_iv_get(mrb, c, id); + if (!mrb_nil_p(ans)) return ans; + kclass = RCLASS_SUPER(c); + if (kclass == 0 || kclass == sclass) + return mrb_nil_value(); + c = mrb_obj_value(kclass); + } } mrb_value mrb_struct_iv_get(mrb_state *mrb, mrb_value c, const char *name) { - return struct_ivar_get(mrb, c, mrb_intern(mrb, name)); + return struct_ivar_get(mrb, c, mrb_intern(mrb, name)); } mrb_value mrb_struct_s_members(mrb_state *mrb, mrb_value klass) { - mrb_value members = struct_ivar_get(mrb, klass, mrb_intern(mrb, "__members__")); + mrb_value members = struct_ivar_get(mrb, klass, mrb_intern(mrb, "__members__")); - if (mrb_nil_p(members)) { - mrb_raise(mrb, E_TYPE_ERROR, "uninitialized struct"); - } - if (!mrb_array_p(members)) { - mrb_raise(mrb, E_TYPE_ERROR, "corrupted struct"); - } - return members; + if (mrb_nil_p(members)) { + mrb_raise(mrb, E_TYPE_ERROR, "uninitialized struct"); + } + if (!mrb_array_p(members)) { + mrb_raise(mrb, E_TYPE_ERROR, "corrupted struct"); + } + return members; } mrb_value mrb_struct_members(mrb_state *mrb, mrb_value s) { mrb_value members = mrb_struct_s_members(mrb, mrb_obj_value(mrb_obj_class(mrb, s))); - if (mrb_type(s) == MRB_TT_STRUCT) { + if (!strcmp(mrb_class_name(mrb, mrb_obj_class(mrb, s)), "Struct")) { if (RSTRUCT_LEN(s) != RARRAY_LEN(members)) { mrb_raisef(mrb, E_TYPE_ERROR, "struct size differs (%ld required %ld given)", - RARRAY_LEN(members), RSTRUCT_LEN(s)); + RARRAY_LEN(members), RSTRUCT_LEN(s)); } } return members; @@ -76,28 +76,17 @@ mrb_struct_members(mrb_state *mrb, mrb_value s) static mrb_value mrb_struct_s_members_m(mrb_state *mrb, mrb_value klass) { - mrb_value members, ary; - mrb_value *p, *pend; - - members = mrb_struct_s_members(mrb, klass); - ary = mrb_ary_new_capa(mrb, RARRAY_LEN(members)); - p = RARRAY_PTR(members); pend = p + RARRAY_LEN(members); - while (p < pend) { - mrb_ary_push(mrb, ary, *p); - p++; - } - - return ary; -} - -static inline void -struct_copy(mrb_value *dst, const mrb_value *src, size_t size) -{ - size_t i; + mrb_value members, ary; + mrb_value *p, *pend; - for (i = 0; i < size; i++) { - dst[i] = src[i]; + members = mrb_struct_s_members(mrb, klass); + ary = mrb_ary_new_capa(mrb, RARRAY_LEN(members)); + p = RARRAY_PTR(members); pend = p + RARRAY_LEN(members); + while (p < pend) { + mrb_ary_push(mrb, ary, *p); + p++; } + return ary; } /* 15.2.18.4.6 */ @@ -116,33 +105,33 @@ struct_copy(mrb_value *dst, const mrb_value *src, size_t size) static mrb_value mrb_struct_members_m(mrb_state *mrb, mrb_value obj) { - return mrb_struct_s_members_m(mrb, mrb_obj_value(mrb_obj_class(mrb, obj))); + return mrb_struct_s_members_m(mrb, mrb_obj_value(mrb_obj_class(mrb, obj))); } mrb_value mrb_struct_getmember(mrb_state *mrb, mrb_value obj, mrb_sym id) { - mrb_value members, slot, *ptr, *ptr_members; - long i, len; - - ptr = RSTRUCT_PTR(obj); - members = mrb_struct_members(mrb, obj); - ptr_members = RARRAY_PTR(members); - slot = mrb_symbol_value(id); - len = RARRAY_LEN(members); - for (i=0; i<len; i++) { - if (mrb_obj_equal(mrb, ptr_members[i], slot)) { - return ptr[i]; - } + mrb_value members, slot, *ptr, *ptr_members; + long i, len; + + ptr = RSTRUCT_PTR(obj); + members = mrb_struct_members(mrb, obj); + ptr_members = RARRAY_PTR(members); + slot = mrb_symbol_value(id); + len = RARRAY_LEN(members); + for (i=0; i<len; i++) { + if (mrb_obj_equal(mrb, ptr_members[i], slot)) { + return ptr[i]; } - mrb_name_error(mrb, id, "%s is not struct member", mrb_sym2name(mrb, id)); - return mrb_nil_value(); /* not reached */ + } + mrb_raisef(mrb, E_NAME_ERROR, "%s is not struct member", mrb_sym2name(mrb, id)); + return mrb_nil_value(); /* not reached */ } static mrb_value mrb_struct_ref(mrb_state *mrb, mrb_value obj) { - return mrb_struct_getmember(mrb, obj, mrb->ci->mid); + return mrb_struct_getmember(mrb, obj, mrb->ci->mid); } static mrb_value mrb_struct_ref0(mrb_state* mrb, mrb_value obj) {return RSTRUCT_PTR(obj)[0];} @@ -160,16 +149,16 @@ static mrb_value mrb_struct_ref9(mrb_state* mrb, mrb_value obj) {return RSTRUCT_ #define N_REF_FUNC numberof(ref_func) static mrb_value (*const ref_func[])(mrb_state*, mrb_value) = { - mrb_struct_ref0, - mrb_struct_ref1, - mrb_struct_ref2, - mrb_struct_ref3, - mrb_struct_ref4, - mrb_struct_ref5, - mrb_struct_ref6, - mrb_struct_ref7, - mrb_struct_ref8, - mrb_struct_ref9, + mrb_struct_ref0, + mrb_struct_ref1, + mrb_struct_ref2, + mrb_struct_ref3, + mrb_struct_ref4, + mrb_struct_ref5, + mrb_struct_ref6, + mrb_struct_ref7, + mrb_struct_ref8, + mrb_struct_ref9, }; mrb_sym @@ -213,9 +202,8 @@ mrb_struct_set(mrb_state *mrb, mrb_value obj, mrb_value val) return ptr[i] = val; } } - - mrb_name_error(mrb, mid, "`%s' is not a struct member", - mrb_sym2name(mrb, mid)); + mrb_raisef(mrb, E_NAME_ERROR, "`%s' is not a struct member", + mrb_sym2name(mrb, mid)); return mrb_nil_value(); /* not reached */ } @@ -233,86 +221,84 @@ mrb_struct_set_m(mrb_state *mrb, mrb_value obj) int mrb_is_local_id(mrb_sym id) { - return is_local_id(id); + return is_local_id(id); } #define is_const_id(id) (is_notop_id(id))//&&((id)&ID_SCOPE_MASK)==ID_CONST) int mrb_is_const_id(mrb_sym id) { - return is_const_id(id); + return is_const_id(id); } static mrb_value make_struct(mrb_state *mrb, mrb_value name, mrb_value members, struct RClass * klass) { - mrb_value nstr, *ptr_members; - mrb_sym id; - long i, len; - struct RClass *c; + mrb_value nstr, *ptr_members; + mrb_sym id; + long i, len; + struct RClass *c; - //OBJ_FREEZE(members); - if (mrb_nil_p(name)) { - c = mrb_class_new(mrb, klass); + if (mrb_nil_p(name)) { + c = mrb_class_new(mrb, klass); + } + else { + /* old style: should we warn? */ + name = mrb_str_to_str(mrb, name); + id = mrb_to_id(mrb, name); + if (!mrb_is_const_id(id)) { + mrb_raisef(mrb, E_NAME_ERROR, "identifier %s needs to be constant", mrb_string_value_ptr(mrb, name)); } - else { - /* old style: should we warn? */ - name = mrb_str_to_str(mrb, name); - id = mrb_to_id(mrb, name); - if (!mrb_is_const_id(id)) { - mrb_name_error(mrb, id, "identifier %s needs to be constant", mrb_string_value_ptr(mrb, name)); - } - if (mrb_const_defined_at(mrb, klass, id)) { - mrb_warn("redefining constant Struct::%s", mrb_string_value_ptr(mrb, name)); - //?rb_mod_remove_const(klass, mrb_sym2name(mrb, id)); - } - c = mrb_define_class_under(mrb, klass, RSTRING_PTR(name), klass); + if (mrb_const_defined_at(mrb, klass, id)) { + mrb_warn("redefining constant Struct::%s", mrb_string_value_ptr(mrb, name)); + //?rb_mod_remove_const(klass, mrb_sym2name(mrb, id)); } - MRB_SET_INSTANCE_TT(c, MRB_TT_STRUCT); - nstr = mrb_obj_value(c); - mrb_iv_set(mrb, nstr, mrb_intern(mrb, "__members__"), members); - - mrb_define_class_method(mrb, c, "new", mrb_instance_new, ARGS_ANY()); - mrb_define_class_method(mrb, c, "[]", mrb_instance_new, ARGS_ANY()); - mrb_define_class_method(mrb, c, "members", mrb_struct_s_members_m, ARGS_NONE()); - //RSTRUCT(nstr)->basic.c->super = c->c; - ptr_members = RARRAY_PTR(members); - len = RARRAY_LEN(members); - for (i=0; i< len; i++) { - mrb_sym id = mrb_symbol(ptr_members[i]); - if (mrb_is_local_id(id) || mrb_is_const_id(id)) { - if (i < N_REF_FUNC) { - mrb_define_method_id(mrb, c, id, ref_func[i], ARGS_NONE()); - } - else { - mrb_define_method_id(mrb, c, id, mrb_struct_ref, ARGS_NONE()); - } - mrb_define_method_id(mrb, c, mrb_id_attrset(mrb, id), mrb_struct_set_m, ARGS_REQ(1)); + c = mrb_define_class_under(mrb, klass, RSTRING_PTR(name), klass); + } + MRB_SET_INSTANCE_TT(c, MRB_TT_ARRAY); + nstr = mrb_obj_value(c); + mrb_iv_set(mrb, nstr, mrb_intern(mrb, "__members__"), members); + + mrb_define_class_method(mrb, c, "new", mrb_instance_new, ARGS_ANY()); + mrb_define_class_method(mrb, c, "[]", mrb_instance_new, ARGS_ANY()); + mrb_define_class_method(mrb, c, "members", mrb_struct_s_members_m, ARGS_NONE()); + //RSTRUCT(nstr)->basic.c->super = c->c; + ptr_members = RARRAY_PTR(members); + len = RARRAY_LEN(members); + for (i=0; i< len; i++) { + mrb_sym id = mrb_symbol(ptr_members[i]); + if (mrb_is_local_id(id) || mrb_is_const_id(id)) { + if (i < N_REF_FUNC) { + mrb_define_method_id(mrb, c, id, ref_func[i], ARGS_NONE()); } + else { + mrb_define_method_id(mrb, c, id, mrb_struct_ref, ARGS_NONE()); + } + mrb_define_method_id(mrb, c, mrb_id_attrset(mrb, id), mrb_struct_set_m, ARGS_REQ(1)); } - - return nstr; + } + return nstr; } mrb_value mrb_struct_define(mrb_state *mrb, const char *name, ...) { - va_list ar; - mrb_value nm, ary; - char *mem; + va_list ar; + mrb_value nm, ary; + char *mem; - if (!name) nm = mrb_nil_value(); - else nm = mrb_str_new2(mrb, name); - ary = mrb_ary_new(mrb); + if (!name) nm = mrb_nil_value(); + else nm = mrb_str_new2(mrb, name); + ary = mrb_ary_new(mrb); - va_start(ar, name); - while ((mem = va_arg(ar, char*)) != 0) { - mrb_sym slot = mrb_intern(mrb, mem); - mrb_ary_push(mrb, ary, mrb_symbol_value(slot)); - } - va_end(ar); + va_start(ar, name); + while ((mem = va_arg(ar, char*)) != 0) { + mrb_sym slot = mrb_intern(mrb, mem); + mrb_ary_push(mrb, ary, mrb_symbol_value(slot)); + } + va_end(ar); - return make_struct(mrb, nm, ary, struct_class(mrb)); + return make_struct(mrb, nm, ary, struct_class(mrb)); } /* 15.2.18.3.1 */ @@ -366,8 +352,8 @@ mrb_struct_s_def(mrb_state *mrb, mrb_value klass) mrb_get_args(mrb, "*&", &argv, &argc, &b); if (argc == 0) { /* special case to avoid crash */ rest = mrb_ary_new(mrb); - } - else { + } + else { if (argc > 0) name = argv[0]; if (argc > 1) rest = argv[1]; if (mrb_array_p(rest)) { @@ -392,7 +378,7 @@ mrb_struct_s_def(mrb_state *mrb, mrb_value klass) id = mrb_to_id(mrb, RARRAY_PTR(rest)[i]); RARRAY_PTR(rest)[i] = mrb_symbol_value(id); } - } + } st = make_struct(mrb, name, rest, struct_class(mrb)); if (!mrb_nil_p(b)) { mrb_funcall(mrb, b, "call", 1, &st); @@ -404,12 +390,13 @@ mrb_struct_s_def(mrb_state *mrb, mrb_value klass) static int num_members(mrb_state *mrb, struct RClass *klass) { - mrb_value members; - members = struct_ivar_get(mrb, mrb_obj_value(klass), mrb_intern(mrb, "__members__")); - if (!mrb_array_p(members)) { - mrb_raise(mrb, E_TYPE_ERROR, "broken members"); - } - return RARRAY_LEN(members); + mrb_value members; + + members = struct_ivar_get(mrb, mrb_obj_value(klass), mrb_intern(mrb, "__members__")); + if (!mrb_array_p(members)) { + mrb_raise(mrb, E_TYPE_ERROR, "broken members"); + } + return RARRAY_LEN(members); } /* 15.2.18.4.8 */ @@ -419,18 +406,19 @@ static mrb_value mrb_struct_initialize_withArg(mrb_state *mrb, int argc, mrb_value *argv, mrb_value self) { struct RClass *klass = mrb_obj_class(mrb, self); - int n; - struct RStruct *st; + int i, n; n = num_members(mrb, klass); if (n < argc) { mrb_raise(mrb, E_ARGUMENT_ERROR, "struct size differs"); } - st = RSTRUCT(self); - st->ptr = (mrb_value *)mrb_calloc(mrb, sizeof(mrb_value), n); - st->len = n; - struct_copy(st->ptr, argv, argc); + for (i = 0; i < argc; i++) { + mrb_ary_set(mrb, self, i, argv[i]); + } + for (i = argc; i < n; i++) { + mrb_ary_set(mrb, self, i, mrb_nil_value()); + } return self; } @@ -453,50 +441,50 @@ mrb_struct_initialize(mrb_state *mrb, mrb_value self, mrb_value values) static mrb_value inspect_struct(mrb_state *mrb, mrb_value s, int recur) { - const char *cn = mrb_class_name(mrb, mrb_obj_class(mrb, s)); - mrb_value members, str = mrb_str_new(mrb, "#<struct ", 9); - mrb_value *ptr, *ptr_members; - long i, len; + const char *cn = mrb_class_name(mrb, mrb_obj_class(mrb, s)); + mrb_value members, str = mrb_str_new(mrb, "#<struct ", 9); + mrb_value *ptr, *ptr_members; + long i, len; - if (cn) { - mrb_str_append(mrb, str, mrb_str_new_cstr(mrb, cn)); + if (cn) { + mrb_str_append(mrb, str, mrb_str_new_cstr(mrb, cn)); + } + if (recur) { + return mrb_str_cat2(mrb, str, ":...>"); + } + + members = mrb_struct_members(mrb, s); + ptr_members = RARRAY_PTR(members); + ptr = RSTRUCT_PTR(s); + len = RSTRUCT_LEN(s); + for (i=0; i<len; i++) { + mrb_value slot; + mrb_sym id; + + if (i > 0) { + mrb_str_cat2(mrb, str, ", "); } - if (recur) { - return mrb_str_cat2(mrb, str, ":...>"); + else if (cn) { + mrb_str_cat2(mrb, str, " "); } + slot = ptr_members[i]; + id = mrb_symbol(slot); + if (mrb_is_local_id(id) || mrb_is_const_id(id)) { + const char *name; + int len; - members = mrb_struct_members(mrb, s); - ptr_members = RARRAY_PTR(members); - ptr = RSTRUCT_PTR(s); - len = RSTRUCT_LEN(s); - for (i=0; i<len; i++) { - mrb_value slot; - mrb_sym id; - - if (i > 0) { - mrb_str_cat2(mrb, str, ", "); - } - else if (cn) { - mrb_str_cat2(mrb, str, " "); - } - slot = ptr_members[i]; - id = mrb_symbol(slot); - if (mrb_is_local_id(id) || mrb_is_const_id(id)) { - const char *name; - int len; - - name = mrb_sym2name_len(mrb, id, &len); - mrb_str_append(mrb, str, mrb_str_new(mrb, name, len)); - } - else { - mrb_str_append(mrb, str, mrb_inspect(mrb, slot)); - } - mrb_str_cat2(mrb, str, "="); - mrb_str_append(mrb, str, mrb_inspect(mrb, ptr[i])); + name = mrb_sym2name_len(mrb, id, &len); + mrb_str_append(mrb, str, mrb_str_new(mrb, name, len)); + } + else { + mrb_str_append(mrb, str, mrb_inspect(mrb, slot)); } - mrb_str_cat2(mrb, str, ">"); + mrb_str_cat2(mrb, str, "="); + mrb_str_append(mrb, str, mrb_inspect(mrb, ptr[i])); + } + mrb_str_cat2(mrb, str, ">"); - return str; + return str; } /* @@ -509,7 +497,7 @@ inspect_struct(mrb_state *mrb, mrb_value s, int recur) static mrb_value mrb_struct_inspect(mrb_state *mrb, mrb_value s) { - return inspect_struct(mrb, s, 0); + return inspect_struct(mrb, s, 0); } /* 15.2.18.4.9 */ @@ -518,6 +506,7 @@ mrb_value mrb_struct_init_copy(mrb_state *mrb, mrb_value copy) { mrb_value s; + int i, len; mrb_get_args(mrb, "o", &s); @@ -525,31 +514,36 @@ mrb_struct_init_copy(mrb_state *mrb, mrb_value copy) if (!mrb_obj_is_instance_of(mrb, s, mrb_obj_class(mrb, copy))) { mrb_raise(mrb, E_TYPE_ERROR, "wrong argument class"); } + if (!mrb_array_p(s)) { + mrb_raise(mrb, E_TYPE_ERROR, "corrupted struct"); + } if (RSTRUCT_LEN(copy) != RSTRUCT_LEN(s)) { mrb_raise(mrb, E_TYPE_ERROR, "struct size mismatch"); } - struct_copy(RSTRUCT_PTR(copy), RSTRUCT_PTR(s), RSTRUCT_LEN(copy)); - + len = RSTRUCT_LEN(copy); + for (i = 0; i < len; i++) { + mrb_ary_set(mrb, copy, i, RSTRUCT_PTR(s)[i]); + } return copy; } static mrb_value mrb_struct_aref_id(mrb_state *mrb, mrb_value s, mrb_sym id) { - mrb_value *ptr, members, *ptr_members; - long i, len; + mrb_value *ptr, members, *ptr_members; + long i, len; - ptr = RSTRUCT_PTR(s); - members = mrb_struct_members(mrb, s); - ptr_members = RARRAY_PTR(members); - len = RARRAY_LEN(members); - for (i=0; i<len; i++) { - if (mrb_symbol(ptr_members[i]) == id) { - return ptr[i]; - } + ptr = RSTRUCT_PTR(s); + members = mrb_struct_members(mrb, s); + ptr_members = RARRAY_PTR(members); + len = RARRAY_LEN(members); + for (i=0; i<len; i++) { + if (mrb_symbol(ptr_members[i]) == id) { + return ptr[i]; } - mrb_name_error(mrb, id, "no member '%s' in struct", mrb_sym2name(mrb, id)); - return mrb_nil_value(); /* not reached */ + } + mrb_raisef(mrb, E_NAME_ERROR, "no member '%s' in struct", mrb_sym2name(mrb, id)); + return mrb_nil_value(); /* not reached */ } /* 15.2.18.4.2 */ @@ -584,10 +578,10 @@ mrb_struct_aref_n(mrb_state *mrb, mrb_value s, mrb_value idx) if (i < 0) i = RSTRUCT_LEN(s) + i; if (i < 0) mrb_raisef(mrb, E_INDEX_ERROR, "offset %ld too small for struct(size:%ld)", - i, RSTRUCT_LEN(s)); + i, RSTRUCT_LEN(s)); if (RSTRUCT_LEN(s) <= i) - mrb_raisef(mrb, E_INDEX_ERROR, "offset %ld too large for struct(size:%ld)", - i, RSTRUCT_LEN(s)); + mrb_raisef(mrb, E_INDEX_ERROR, "offset %ld too large for struct(size:%ld)", + i, RSTRUCT_LEN(s)); return RSTRUCT_PTR(s)[i]; } @@ -603,25 +597,25 @@ mrb_struct_aref(mrb_state *mrb, mrb_value s) static mrb_value mrb_struct_aset_id(mrb_state *mrb, mrb_value s, mrb_sym id, mrb_value val) { - mrb_value members, *ptr, *ptr_members; - long i, len; + mrb_value members, *ptr, *ptr_members; + long i, len; - members = mrb_struct_members(mrb, s); - len = RARRAY_LEN(members); - if (RSTRUCT_LEN(s) != len) { - mrb_raisef(mrb, E_TYPE_ERROR, "struct size differs (%ld required %ld given)", - len, RSTRUCT_LEN(s)); - } - ptr = RSTRUCT_PTR(s); - ptr_members = RARRAY_PTR(members); - for (i=0; i<len; i++) { - if (mrb_symbol(ptr_members[i]) == id) { - ptr[i] = val; - return val; - } + members = mrb_struct_members(mrb, s); + len = RARRAY_LEN(members); + if (RSTRUCT_LEN(s) != len) { + mrb_raisef(mrb, E_TYPE_ERROR, "struct size differs (%ld required %ld given)", + len, RSTRUCT_LEN(s)); + } + ptr = RSTRUCT_PTR(s); + ptr_members = RARRAY_PTR(members); + for (i=0; i<len; i++) { + if (mrb_symbol(ptr_members[i]) == id) { + ptr[i] = val; + return val; } - mrb_name_error(mrb, id, "no member '%s' in struct", mrb_sym2name(mrb, id)); - return val; /* not reach */ + } + mrb_raisef(mrb, E_NAME_ERROR, "no member '%s' in struct", mrb_sym2name(mrb, id)); + return val; /* not reach */ } /* 15.2.18.4.3 */ @@ -663,11 +657,11 @@ mrb_struct_aset(mrb_state *mrb, mrb_value s) if (i < 0) i = RSTRUCT_LEN(s) + i; if (i < 0) { mrb_raisef(mrb, E_INDEX_ERROR, "offset %ld too small for struct(size:%ld)", - i, RSTRUCT_LEN(s)); + i, RSTRUCT_LEN(s)); } if (RSTRUCT_LEN(s) <= i) { mrb_raisef(mrb, E_INDEX_ERROR, "offset %ld too large for struct(size:%ld)", - i, RSTRUCT_LEN(s)); + i, RSTRUCT_LEN(s)); } return RSTRUCT_PTR(s)[i] = val; } @@ -699,7 +693,7 @@ mrb_struct_equal(mrb_state *mrb, mrb_value s) mrb_get_args(mrb, "o", &s2); if (mrb_obj_equal(mrb, s, s2)) return mrb_true_value(); - if (mrb_type(s2) != MRB_TT_STRUCT) return mrb_false_value(); + if (!strcmp(mrb_class_name(mrb, mrb_obj_class(mrb, s)), "Struct")) return mrb_false_value(); if (mrb_obj_class(mrb, s) != mrb_obj_class(mrb, s2)) return mrb_false_value(); if (RSTRUCT_LEN(s) != RSTRUCT_LEN(s2)) { mrb_bug("inconsistent struct"); /* should never happen */ @@ -730,7 +724,7 @@ mrb_struct_eql(mrb_state *mrb, mrb_value s) mrb_get_args(mrb, "o", &s2); if (mrb_obj_equal(mrb, s, s2)) return mrb_true_value(); - if (mrb_type(s2) != MRB_TT_STRUCT) return mrb_false_value(); + if (strcmp(mrb_class_name(mrb, mrb_obj_class(mrb, s2)), "Struct")) return mrb_false_value(); if (mrb_obj_class(mrb, s) != mrb_obj_class(mrb, s2)) return mrb_false_value(); if (RSTRUCT_LEN(s) != RSTRUCT_LEN(s2)) { mrb_bug("inconsistent struct"); /* should never happen */ @@ -761,7 +755,7 @@ mrb_struct_eql(mrb_state *mrb, mrb_value s) * <code>Symbol</code> (such as <code>:name</code>). */ void -mrb_init_struct(mrb_state *mrb) +mrb_mruby_struct_gem_init(mrb_state* mrb) { struct RClass *st; st = mrb_define_class(mrb, "Struct", mrb->object_class); @@ -779,4 +773,8 @@ mrb_init_struct(mrb_state *mrb) mrb_define_method(mrb, st, "eql?", mrb_struct_eql, ARGS_REQ(1)); /* 15.2.18.4.12(x) */ } -#endif /* ENABLE_STRUCT */ + +void +mrb_mruby_struct_gem_final(mrb_state* mrb) +{ +} diff --git a/test/t/struct.rb b/mrbgems/mruby-struct/test/struct.rb index d79b30c0e..d79b30c0e 100644 --- a/test/t/struct.rb +++ b/mrbgems/mruby-struct/test/struct.rb diff --git a/mrbgems/mruby-time/mrbgem.rake b/mrbgems/mruby-time/mrbgem.rake new file mode 100644 index 000000000..0f0b4899d --- /dev/null +++ b/mrbgems/mruby-time/mrbgem.rake @@ -0,0 +1,4 @@ +MRuby::Gem::Specification.new('mruby-time') do |spec| + spec.license = 'MIT' + spec.authors = 'mruby developers' +end diff --git a/src/time.c b/mrbgems/mruby-time/src/time.c index c647ef6ce..ecc9090f1 100644 --- a/src/time.c +++ b/mrbgems/mruby-time/src/time.c @@ -6,7 +6,6 @@ #include "mruby.h" -#ifdef ENABLE_TIME #include <string.h> #include <stdio.h> #include <time.h> @@ -132,7 +131,7 @@ static struct mrb_data_type mrb_time_type = { "Time", mrb_time_free }; /** Updates the datetime of a mrb_time based on it's timezone and seconds setting. Returns self on cussess, NULL of failure. */ -struct mrb_time* +static struct mrb_time* mrb_time_update_datetime(struct mrb_time *self) { struct tm *aid; @@ -663,7 +662,7 @@ mrb_time_usec(mrb_state *mrb, mrb_value self) } /* 15.2.19.7.27 */ -/* Sets the timzeone attribute of the Time object to UTC. */ +/* Sets the timezone attribute of the Time object to UTC. */ static mrb_value mrb_time_utc(mrb_state *mrb, mrb_value self) { @@ -678,7 +677,7 @@ mrb_time_utc(mrb_state *mrb, mrb_value self) } /* 15.2.19.7.28 */ -/* Returns true if this time is in the UTC timze zone false if not. */ +/* Returns true if this time is in the UTC timezone false if not. */ static mrb_value mrb_time_utcp(mrb_state *mrb, mrb_value self) { @@ -691,7 +690,7 @@ mrb_time_utcp(mrb_state *mrb, mrb_value self) void -mrb_init_time(mrb_state *mrb) +mrb_mruby_time_gem_init(mrb_state* mrb) { struct RClass *tc; /* ISO 15.2.19.2 */ @@ -749,4 +748,8 @@ mrb_init_time(mrb_state *mrb) utc_offset(15.2.19.7.29) */ } -#endif + +void +mrb_mruby_time_gem_final(mrb_state* mrb) +{ +} diff --git a/test/t/time.rb b/mrbgems/mruby-time/test/time.rb index f92459d5e..f92459d5e 100644 --- a/test/t/time.rb +++ b/mrbgems/mruby-time/test/time.rb diff --git a/mrblib/array.rb b/mrblib/array.rb index abbb38cb6..82df90950 100644 --- a/mrblib/array.rb +++ b/mrblib/array.rb @@ -52,7 +52,7 @@ class Array ## # Alias for collect! - # + # # ISO 15.2.12.5.20 alias map! collect! diff --git a/mrblib/compar.rb b/mrblib/compar.rb index 9f2ab887d..40fb2e7f0 100644 --- a/mrblib/compar.rb +++ b/mrblib/compar.rb @@ -25,7 +25,7 @@ module Comparable # Return true if +self+ is less # than or equal to +other+. # Otherwise return false. - # + # # ISO 15.3.3.2.2 def <= other cmp = self <=> other @@ -88,7 +88,7 @@ module Comparable end ## - # Return true if +self+ is greater + # Return true if +self+ is greater # than or equal to +min+ and # less than or equal to +max+. # Otherwise return false. diff --git a/mrblib/enum.rb b/mrblib/enum.rb index 2774bc856..0593e1f04 100644 --- a/mrblib/enum.rb +++ b/mrblib/enum.rb @@ -73,7 +73,7 @@ module Enumerable ## # Call the given block for each element # which is yield by +each+. Append all - # values of each block together and + # values of each block together and # return this value. # # ISO 15.3.2.2.3 @@ -89,7 +89,7 @@ module Enumerable # Call the given block for each element # which is yield by +each+. Return # +ifnone+ if no block value was true. - # Otherwise return the first block value + # Otherwise return the first block value # which had was true. # # ISO 15.3.2.2.4 @@ -158,8 +158,8 @@ module Enumerable # Call the given block for each element # which is yield by +each+ and which return # value was true when invoking === with - # +pattern+. Return an array with all - # elements or the respective block values. + # +pattern+. Return an array with all + # elements or the respective block values. # # ISO 15.3.2.2.9 def grep(pattern, &block) @@ -291,9 +291,9 @@ module Enumerable ## # Call the given block for each element - # which is yield by +each+. Return an + # which is yield by +each+. Return an # array which contains two arrays. The - # first array contains all elements + # first array contains all elements # whose block value was true. The second # array contains all elements whose # block value was false. diff --git a/mrblib/hash.rb b/mrblib/hash.rb index 7b7b3f8ac..c304d4845 100644 --- a/mrblib/hash.rb +++ b/mrblib/hash.rb @@ -64,7 +64,7 @@ class Hash # it will be called for each element with # a duplicate key. The value of the block # will be the final value of this element. - # + # # ISO 15.2.13.4.22 def merge(other, &block) h = {} diff --git a/src/array.c b/src/array.c index 29e43b34f..b55a47f66 100644 --- a/src/array.c +++ b/src/array.c @@ -10,14 +10,18 @@ #include "mruby/string.h" #include "mruby/class.h" +/* SIZE_MAX is not supported by VC++. */ +#ifndef SIZE_MAX +# define SIZE_MAX ((size_t)-1) +#endif + #define ARY_DEFAULT_LEN 4 #define ARY_SHRINK_RATIO 5 /* must be larger than 2 */ -#ifdef INT_MAX -# define ARY_MAX_SIZE (INT_MAX / sizeof(mrb_value)) -#endif +#define ARY_C_MAX_SIZE (SIZE_MAX / sizeof(mrb_value)) +#define ARY_MAX_SIZE ((ARY_C_MAX_SIZE < (size_t)MRB_INT_MAX) ? (mrb_int)ARY_C_MAX_SIZE : MRB_INT_MAX) static inline mrb_value -ary_elt(mrb_value ary, int offset) +ary_elt(mrb_value ary, mrb_int offset) { if (RARRAY_LEN(ary) == 0) return mrb_nil_value(); if (offset < 0 || RARRAY_LEN(ary) <= offset) { @@ -27,16 +31,14 @@ ary_elt(mrb_value ary, int offset) } static struct RArray* -ary_new_capa(mrb_state *mrb, int capa) +ary_new_capa(mrb_state *mrb, mrb_int capa) { struct RArray *a; - int blen; + mrb_int blen; -#ifdef INT_MAX if (capa > ARY_MAX_SIZE) { mrb_raise(mrb, E_ARGUMENT_ERROR, "ary size too big"); } -#endif blen = capa * sizeof(mrb_value) ; if (blen < capa) { mrb_raise(mrb, E_ARGUMENT_ERROR, "ary size too big"); @@ -51,7 +53,7 @@ ary_new_capa(mrb_state *mrb, int capa) } mrb_value -mrb_ary_new_capa(mrb_state *mrb, int capa) +mrb_ary_new_capa(mrb_state *mrb, mrb_int capa) { struct RArray *a = ary_new_capa(mrb, capa); return mrb_obj_value(a); @@ -63,6 +65,20 @@ mrb_ary_new(mrb_state *mrb) return mrb_ary_new_capa(mrb, 0); } +/* + * to copy array, use this instead of memcpy because of portability + * * gcc on ARM may fail optimization of memcpy + * http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka3934.html + * * gcc on MIPS also fail + * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39755 + * * memcpy doesn't exist on freestanding environment + * + * If you optimize for binary size, use memcpy instead of this at your own risk + * of above portability issue. + * + * see also http://togetter.com/li/462898 + * + */ static inline void array_copy(mrb_value *dst, const mrb_value *src, size_t size) { @@ -75,7 +91,7 @@ array_copy(mrb_value *dst, const mrb_value *src, size_t size) mrb_value -mrb_ary_new_from_values(mrb_state *mrb, int size, mrb_value *vals) +mrb_ary_new_from_values(mrb_state *mrb, mrb_int size, mrb_value *vals) { mrb_value ary; struct RArray *a; @@ -98,7 +114,7 @@ mrb_assoc_new(mrb_state *mrb, mrb_value car, mrb_value cdr) } static void -ary_fill_with_nil(mrb_value *ptr, int size) +ary_fill_with_nil(mrb_value *ptr, mrb_int size) { mrb_value nil = mrb_nil_value(); @@ -111,7 +127,7 @@ static void ary_modify(mrb_state *mrb, struct RArray *a) { if (a->flags & MRB_ARY_SHARED) { - struct mrb_shared_array *shared = a->aux.shared; + mrb_shared_array *shared = a->aux.shared; if (shared->refcnt == 1 && a->ptr == shared->ptr) { a->ptr = shared->ptr; @@ -120,13 +136,13 @@ ary_modify(mrb_state *mrb, struct RArray *a) } else { mrb_value *ptr, *p; - int len; + mrb_int len; p = a->ptr; len = a->len * sizeof(mrb_value); ptr = (mrb_value *)mrb_malloc(mrb, len); if (p) { - array_copy(ptr, p, a->len); + array_copy(ptr, p, a->len); } a->ptr = ptr; a->aux.capa = a->len; @@ -140,7 +156,7 @@ static void ary_make_shared(mrb_state *mrb, struct RArray *a) { if (!(a->flags & MRB_ARY_SHARED)) { - struct mrb_shared_array *shared = (struct mrb_shared_array *)mrb_malloc(mrb, sizeof(struct mrb_shared_array)); + mrb_shared_array *shared = (mrb_shared_array *)mrb_malloc(mrb, sizeof(mrb_shared_array)); shared->refcnt = 1; if (a->aux.capa > a->len) { @@ -156,15 +172,13 @@ ary_make_shared(mrb_state *mrb, struct RArray *a) } static void -ary_expand_capa(mrb_state *mrb, struct RArray *a, int len) +ary_expand_capa(mrb_state *mrb, struct RArray *a, mrb_int len) { - int capa = a->aux.capa; + mrb_int capa = a->aux.capa; -#ifdef INT_MAX if (len > ARY_MAX_SIZE) { mrb_raise(mrb, E_ARGUMENT_ERROR, "array size too big"); } -#endif while(capa < len) { if (capa == 0) { @@ -175,9 +189,7 @@ ary_expand_capa(mrb_state *mrb, struct RArray *a, int len) } } -#ifdef INT_MAX if (capa > ARY_MAX_SIZE) capa = ARY_MAX_SIZE; /* len <= capa <= ARY_MAX_SIZE */ -#endif if (capa > a->aux.capa) { a->aux.capa = capa; @@ -188,7 +200,7 @@ ary_expand_capa(mrb_state *mrb, struct RArray *a, int len) static void ary_shrink_capa(mrb_state *mrb, struct RArray *a) { - int capa = a->aux.capa; + mrb_int capa = a->aux.capa; if (capa < ARY_DEFAULT_LEN * 2) return; if (capa <= a->len * ARY_SHRINK_RATIO) return; @@ -214,13 +226,13 @@ mrb_ary_s_create(mrb_state *mrb, mrb_value self) int len; mrb_get_args(mrb, "*", &vals, &len); - return mrb_ary_new_from_values(mrb, (int)len, vals); + return mrb_ary_new_from_values(mrb, len, vals); } static void -ary_concat(mrb_state *mrb, struct RArray *a, mrb_value *ptr, int blen) +ary_concat(mrb_state *mrb, struct RArray *a, mrb_value *ptr, mrb_int blen) { - int len = a->len + blen; + mrb_int len = a->len + blen; ary_modify(mrb, a); if (a->aux.capa < len) ary_expand_capa(mrb, a, len); @@ -241,7 +253,7 @@ mrb_value mrb_ary_concat_m(mrb_state *mrb, mrb_value self) { mrb_value *ptr; - int blen; + mrb_int blen; mrb_get_args(mrb, "a", &ptr, &blen); ary_concat(mrb, mrb_ary_ptr(self), ptr, blen); @@ -255,7 +267,7 @@ mrb_ary_plus(mrb_state *mrb, mrb_value self) struct RArray *a2; mrb_value ary; mrb_value *ptr; - int blen; + mrb_int blen; mrb_get_args(mrb, "a", &ptr, &blen); ary = mrb_ary_new_capa(mrb, a1->len + blen); @@ -291,7 +303,7 @@ mrb_ary_cmp(mrb_state *mrb, mrb_value ary1) mrb_value ary2; struct RArray *a1, *a2; mrb_value r = mrb_nil_value(); - int i, len; + mrb_int i, len; mrb_get_args(mrb, "o", &ary2); if (!mrb_array_p(ary2)) return mrb_nil_value(); @@ -315,7 +327,7 @@ mrb_ary_cmp(mrb_state *mrb, mrb_value ary1) } static void -ary_replace(mrb_state *mrb, struct RArray *a, mrb_value *argv, int len) +ary_replace(mrb_state *mrb, struct RArray *a, mrb_value *argv, mrb_int len) { ary_modify(mrb, a); if (a->aux.capa < len) @@ -415,7 +427,7 @@ mrb_ary_reverse(mrb_state *mrb, mrb_value self) } mrb_value -mrb_ary_new4(mrb_state *mrb, int n, const mrb_value *elts) +mrb_ary_new4(mrb_state *mrb, mrb_int n, const mrb_value *elts) { mrb_value ary; @@ -429,7 +441,7 @@ mrb_ary_new4(mrb_state *mrb, int n, const mrb_value *elts) } mrb_value -mrb_ary_new_elts(mrb_state *mrb, int n, const mrb_value *elts) +mrb_ary_new_elts(mrb_state *mrb, mrb_int n, const mrb_value *elts) { return mrb_ary_new4(mrb, n, elts); } @@ -491,7 +503,7 @@ mrb_ary_shift(mrb_state *mrb, mrb_value self) } else { mrb_value *ptr = a->ptr; - int size = a->len; + mrb_int size = a->len; val = *ptr; while((int)(--size)) { @@ -598,9 +610,9 @@ mrb_value mrb_ary_splice(mrb_state *mrb, mrb_value ary, mrb_int head, mrb_int len, mrb_value rpl) { struct RArray *a = mrb_ary_ptr(ary); - int tail, size; + mrb_int tail, size; mrb_value *argv; - int i, argc; + mrb_int i, argc; ary_modify(mrb, a); /* range check */ @@ -646,14 +658,14 @@ mrb_ary_splice(mrb_state *mrb, mrb_value ary, mrb_int head, mrb_int len, mrb_val return ary; } -int +mrb_int mrb_ary_len(mrb_state *mrb, mrb_value ary) { return RARRAY_LEN(ary); } void -mrb_ary_decref(mrb_state *mrb, struct mrb_shared_array *shared) +mrb_ary_decref(mrb_state *mrb, mrb_shared_array *shared) { shared->refcnt--; if (shared->refcnt == 0) { @@ -663,7 +675,7 @@ mrb_ary_decref(mrb_state *mrb, struct mrb_shared_array *shared) } static mrb_value -ary_subseq(mrb_state *mrb, struct RArray *a, int beg, int len) +ary_subseq(mrb_state *mrb, struct RArray *a, mrb_int beg, mrb_int len) { struct RArray *b; @@ -700,7 +712,7 @@ mrb_ary_aget(mrb_state *mrb, mrb_value self) len = mrb_fixnum(argv[0]); if (len < 0) return mrb_nil_value(); if (a->len == (int)index) return mrb_ary_new(mrb); - if ((int)len > a->len - index) len = a->len - index; + if (len > a->len - index) len = a->len - index; return ary_subseq(mrb, a, index, len); default: @@ -743,7 +755,7 @@ mrb_ary_delete_at(mrb_state *mrb, mrb_value self) mrb_int index; mrb_value val; mrb_value *ptr; - int len; + mrb_int len; mrb_get_args(mrb, "i", &index); if (index < 0) index += a->len; @@ -789,7 +801,7 @@ mrb_value mrb_ary_last(mrb_state *mrb, mrb_value self) { struct RArray *a = mrb_ary_ptr(self); - int size; + mrb_int size; mrb_value *vals; int len; @@ -816,7 +828,7 @@ mrb_value mrb_ary_index_m(mrb_state *mrb, mrb_value self) { mrb_value obj; - int i; + mrb_int i; mrb_get_args(mrb, "o", &obj); for (i = 0; i < RARRAY_LEN(self); i++) { @@ -831,7 +843,7 @@ mrb_value mrb_ary_rindex_m(mrb_state *mrb, mrb_value self) { mrb_value obj; - int i; + mrb_int i; mrb_get_args(mrb, "o", &obj); for (i = RARRAY_LEN(self) - 1; i >= 0; i--) { @@ -890,7 +902,7 @@ mrb_check_array_type(mrb_state *mrb, mrb_value ary) } mrb_value -mrb_ary_entry(mrb_value ary, int offset) +mrb_ary_entry(mrb_value ary, mrb_int offset) { if (offset < 0) { offset += RARRAY_LEN(ary); @@ -901,7 +913,7 @@ mrb_ary_entry(mrb_value ary, int offset) static mrb_value inspect_ary(mrb_state *mrb, mrb_value ary, mrb_value list) { - int i; + mrb_int i; mrb_value s, arystr; char head[] = { '[' }; char sep[] = { ',', ' ' }; @@ -920,7 +932,7 @@ inspect_ary(mrb_state *mrb, mrb_value ary, mrb_value list) mrb_str_buf_cat(mrb, arystr, head, sizeof(head)); for(i=0; i<RARRAY_LEN(ary); i++) { - int ai = mrb_gc_arena_save(mrb); + mrb_int ai = mrb_gc_arena_save(mrb); if (i > 0) { mrb_str_buf_cat(mrb, arystr, sep, sizeof(sep)); @@ -963,7 +975,7 @@ mrb_ary_inspect(mrb_state *mrb, mrb_value ary) static mrb_value join_ary(mrb_state *mrb, mrb_value ary, mrb_value sep, mrb_value list) { - int i; + mrb_int i; mrb_value result, val, tmp; /* check recursive */ @@ -1078,7 +1090,7 @@ mrb_ary_equal(mrb_state *mrb, mrb_value ary1) } if (RARRAY_LEN(ary1) != RARRAY_LEN(ary2)) return mrb_false_value(); else { - int i; + mrb_int i; for (i=0; i<RARRAY_LEN(ary1); i++) { if (!mrb_equal(mrb, ary_elt(ary1, i), ary_elt(ary2, i))) @@ -1107,11 +1119,11 @@ mrb_ary_eql(mrb_state *mrb, mrb_value ary1) if (!mrb_array_p(ary2)) return mrb_false_value(); if (RARRAY_LEN(ary1) != RARRAY_LEN(ary2)) return mrb_false_value(); else { - int i; + mrb_int i; for (i=0; i<RARRAY_LEN(ary1); i++) { if (!mrb_eql(mrb, ary_elt(ary1, i), ary_elt(ary2, i))) - return mrb_false_value(); + return mrb_false_value(); } return mrb_true_value(); } diff --git a/src/class.c b/src/class.c index e70bd7e73..8ea323945 100644 --- a/src/class.c +++ b/src/class.c @@ -18,14 +18,6 @@ KHASH_DEFINE(mt, mrb_sym, struct RProc*, 1, kh_int_hash_func, kh_int_hash_equal) -typedef struct fc_result { - mrb_sym name; - struct RClass * klass; - mrb_value path; - struct RClass * track; - struct fc_result *prev; -} fcresult_t; - void mrb_gc_mark_mt(mrb_state *mrb, struct RClass *c) { @@ -37,7 +29,7 @@ mrb_gc_mark_mt(mrb_state *mrb, struct RClass *c) if (kh_exist(h, k)){ struct RProc *m = kh_value(h, k); if (m) { - mrb_gc_mark(mrb, (struct RBasic*)m); + mrb_gc_mark(mrb, (struct RBasic*)m); } } } @@ -364,7 +356,7 @@ to_hash(mrb_state *mrb, mrb_value val) retrieve arguments from mrb_state. mrb_get_args(mrb, format, ...) - + returns number of arguments parsed. fortmat specifiers: @@ -375,7 +367,7 @@ to_hash(mrb_state *mrb, mrb_value val) H: Hash [mrb_value] s: String [char*,int] z: String [char*] - a: Array [mrb_value*,int] + a: Array [mrb_value*,mrb_int] f: Float [mrb_float] i: Integer [mrb_int] b: Binary [int] @@ -407,7 +399,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) break; default: if (argc <= i && !opt) { - mrb_raise(mrb, E_ARGUMENT_ERROR, "wrong number of arguments"); + mrb_raise(mrb, E_ARGUMENT_ERROR, "wrong number of arguments"); } } @@ -417,10 +409,10 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) mrb_value *p; p = va_arg(ap, mrb_value*); - if (i < argc) { - *p = *sp++; - i++; - } + if (i < argc) { + *p = *sp++; + i++; + } } break; case 'S': @@ -428,10 +420,10 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) mrb_value *p; p = va_arg(ap, mrb_value*); - if (i < argc) { - *p = to_str(mrb, *sp++); - i++; - } + if (i < argc) { + *p = to_str(mrb, *sp++); + i++; + } } break; case 'A': @@ -439,10 +431,10 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) mrb_value *p; p = va_arg(ap, mrb_value*); - if (i < argc) { - *p = to_ary(mrb, *sp++); - i++; - } + if (i < argc) { + *p = to_ary(mrb, *sp++); + i++; + } } break; case 'H': @@ -450,64 +442,64 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) mrb_value *p; p = va_arg(ap, mrb_value*); - if (i < argc) { - *p = to_hash(mrb, *sp++); - i++; - } + if (i < argc) { + *p = to_hash(mrb, *sp++); + i++; + } } break; case 's': { - mrb_value ss; + mrb_value ss; struct RString *s; char **ps = 0; int *pl = 0; - ps = va_arg(ap, char**); - pl = va_arg(ap, int*); - if (i < argc) { - ss = to_str(mrb, *sp++); - s = mrb_str_ptr(ss); - *ps = s->ptr; - *pl = s->len; - i++; - } + ps = va_arg(ap, char**); + pl = va_arg(ap, int*); + if (i < argc) { + ss = to_str(mrb, *sp++); + s = mrb_str_ptr(ss); + *ps = s->ptr; + *pl = s->len; + i++; + } } break; case 'z': { - mrb_value ss; + mrb_value ss; struct RString *s; char **ps; - ps = va_arg(ap, char**); - if (i < argc) { - ss = to_str(mrb, *sp++); - s = mrb_str_ptr(ss); - if (strlen(s->ptr) != s->len) { - mrb_raise(mrb, E_ARGUMENT_ERROR, "String contains NUL"); - } - *ps = s->ptr; - i++; - } + ps = va_arg(ap, char**); + if (i < argc) { + ss = to_str(mrb, *sp++); + s = mrb_str_ptr(ss); + if (strlen(s->ptr) != s->len) { + mrb_raise(mrb, E_ARGUMENT_ERROR, "String contains NUL"); + } + *ps = s->ptr; + i++; + } } break; case 'a': { - mrb_value aa; + mrb_value aa; struct RArray *a; mrb_value **pb; - int *pl; - - pb = va_arg(ap, mrb_value**); - pl = va_arg(ap, int*); - if (i < argc) { - aa = to_ary(mrb, *sp++); - a = mrb_ary_ptr(aa); - *pb = a->ptr; - *pl = a->len; - i++; - } + mrb_int *pl; + + pb = va_arg(ap, mrb_value**); + pl = va_arg(ap, mrb_int*); + if (i < argc) { + aa = to_ary(mrb, *sp++); + a = mrb_ary_ptr(aa); + *pb = a->ptr; + *pl = a->len; + i++; + } } break; case 'f': @@ -515,29 +507,29 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) mrb_float *p; p = va_arg(ap, mrb_float*); - if (i < argc) { - switch (mrb_type(*sp)) { - case MRB_TT_FLOAT: - *p = mrb_float(*sp); - break; - case MRB_TT_FIXNUM: - *p = (mrb_float)mrb_fixnum(*sp); - break; - case MRB_TT_STRING: - mrb_raise(mrb, E_TYPE_ERROR, "String can't be coerced into Float"); - break; - default: - { - mrb_value tmp; - - tmp = mrb_convert_type(mrb, *sp, MRB_TT_FLOAT, "Float", "to_f"); - *p = mrb_float(tmp); - } - break; - } - sp++; - i++; - } + if (i < argc) { + switch (mrb_type(*sp)) { + case MRB_TT_FLOAT: + *p = mrb_float(*sp); + break; + case MRB_TT_FIXNUM: + *p = (mrb_float)mrb_fixnum(*sp); + break; + case MRB_TT_STRING: + mrb_raise(mrb, E_TYPE_ERROR, "String can't be coerced into Float"); + break; + default: + { + mrb_value tmp; + + tmp = mrb_convert_type(mrb, *sp, MRB_TT_FLOAT, "Float", "to_f"); + *p = mrb_float(tmp); + } + break; + } + sp++; + i++; + } } break; case 'i': @@ -545,71 +537,71 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) mrb_int *p; p = va_arg(ap, mrb_int*); - if (i < argc) { - switch (mrb_type(*sp)) { - case MRB_TT_FIXNUM: - *p = mrb_fixnum(*sp); - break; - case MRB_TT_FLOAT: - { - mrb_float f = mrb_float(*sp); - - if (!FIXABLE(f)) { - mrb_raise(mrb, E_RANGE_ERROR, "float too big for int"); - } - *p = (mrb_int)f; - } - break; - case MRB_TT_FALSE: - *p = 0; - break; - default: - { - mrb_value tmp; - - tmp = mrb_convert_type(mrb, *sp, MRB_TT_FIXNUM, "Integer", "to_int"); - *p = mrb_fixnum(tmp); - } - break; - } - sp++; - i++; - } + if (i < argc) { + switch (mrb_type(*sp)) { + case MRB_TT_FIXNUM: + *p = mrb_fixnum(*sp); + break; + case MRB_TT_FLOAT: + { + mrb_float f = mrb_float(*sp); + + if (!FIXABLE(f)) { + mrb_raise(mrb, E_RANGE_ERROR, "float too big for int"); + } + *p = (mrb_int)f; + } + break; + case MRB_TT_FALSE: + *p = 0; + break; + default: + { + mrb_value tmp; + + tmp = mrb_convert_type(mrb, *sp, MRB_TT_FIXNUM, "Integer", "to_int"); + *p = mrb_fixnum(tmp); + } + break; + } + sp++; + i++; + } } break; case 'b': { - int *boolp = va_arg(ap, int*); + int *boolp = va_arg(ap, int*); - if (i < argc) { - mrb_value b = *sp++; - *boolp = mrb_test(b); - i++; - } + if (i < argc) { + mrb_value b = *sp++; + *boolp = mrb_test(b); + i++; + } } break; case 'n': { - mrb_sym *symp; - - symp = va_arg(ap, mrb_sym*); - if (i < argc) { - mrb_value ss; - - ss = *sp++; - if (mrb_type(ss) == MRB_TT_SYMBOL) { - *symp = mrb_symbol(ss); - } - else if (mrb_string_p(ss)) { - *symp = mrb_intern_str(mrb, to_str(mrb, ss)); - } - else { - mrb_value obj = mrb_funcall(mrb, ss, "inspect", 0); - mrb_raisef(mrb, E_TYPE_ERROR, "%s is not a symbol", - mrb_string_value_ptr(mrb, obj)); - } - i++; - } + mrb_sym *symp; + + symp = va_arg(ap, mrb_sym*); + if (i < argc) { + mrb_value ss; + + ss = *sp++; + if (mrb_type(ss) == MRB_TT_SYMBOL) { + *symp = mrb_symbol(ss); + } + else if (mrb_string_p(ss)) { + *symp = mrb_intern_str(mrb, to_str(mrb, ss)); + } + else { + mrb_value obj = mrb_funcall(mrb, ss, "inspect", 0); + mrb_raisef(mrb, E_TYPE_ERROR, "%s is not a symbol", + mrb_string_value_ptr(mrb, obj)); + } + i++; + } } break; @@ -621,9 +613,9 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) if (mrb->ci->argc < 0) { bp = mrb->stack + 2; } - else { + else { bp = mrb->stack + mrb->ci->argc + 1; - } + } *p = *bp; } break; @@ -634,18 +626,18 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) case '*': { mrb_value **var; - int *pl; + int *pl; var = va_arg(ap, mrb_value**); pl = va_arg(ap, int*); if (argc > i) { *pl = argc-i; if (*pl > 0) { - *var = sp; + *var = sp; i = argc; } - i = argc; - sp += *pl; + i = argc; + sp += *pl; } else { *pl = 0; @@ -689,13 +681,13 @@ mrb_include_module(mrb_state *mrb, struct RClass *c, struct RClass *m) while(p) { if (c != p && p->tt == MRB_TT_CLASS) { - superclass_seen = 1; + superclass_seen = 1; } else if (p->mt == m->mt){ - if (p->tt == MRB_TT_ICLASS && !superclass_seen) { - ins_pos = p; - } - goto skip; + if (p->tt == MRB_TT_ICLASS && !superclass_seen) { + ins_pos = p; + } + goto skip; } p = p->super; } @@ -782,7 +774,7 @@ mrb_mod_include_p(mrb_state *mrb, mrb_value mod) } return mrb_false_value(); } - + static mrb_value mrb_mod_ancestors(mrb_state *mrb, mrb_value self) { @@ -1777,9 +1769,9 @@ mrb_init_class(mrb_state *mrb) /* name basic classes */ mrb_define_const(mrb, bob, "BasicObject", mrb_obj_value(bob)); mrb_define_const(mrb, obj, "BasicObject", mrb_obj_value(bob)); - mrb_define_const(mrb, obj, "Object", mrb_obj_value(obj)); - mrb_define_const(mrb, obj, "Module", mrb_obj_value(mod)); - mrb_define_const(mrb, obj, "Class", mrb_obj_value(cls)); + mrb_define_const(mrb, obj, "Object", mrb_obj_value(obj)); + mrb_define_const(mrb, obj, "Module", mrb_obj_value(mod)); + mrb_define_const(mrb, obj, "Class", mrb_obj_value(cls)); /* name each classes */ mrb_name_class(mrb, bob, mrb_intern(mrb, "BasicObject")); @@ -1789,43 +1781,44 @@ mrb_init_class(mrb_state *mrb) mrb_undef_method(mrb, mod, "new"); MRB_SET_INSTANCE_TT(cls, MRB_TT_CLASS); - mrb_define_method(mrb, bob, "initialize", mrb_bob_init, ARGS_NONE()); - mrb_define_method(mrb, bob, "!", mrb_bob_not, ARGS_NONE()); - mrb_define_method(mrb, bob, "method_missing", mrb_bob_missing, ARGS_ANY()); /* 15.3.1.3.30 */ - mrb_define_class_method(mrb, cls, "new", mrb_class_new_class, ARGS_ANY()); - mrb_define_method(mrb, cls, "superclass", mrb_class_superclass, ARGS_NONE()); /* 15.2.3.3.4 */ - mrb_define_method(mrb, cls, "new", mrb_instance_new, ARGS_ANY()); /* 15.2.3.3.3 */ - mrb_define_method(mrb, cls, "inherited", mrb_bob_init, ARGS_REQ(1)); - mrb_define_method(mrb, mod, "class_variable_defined?", mrb_mod_cvar_defined, ARGS_REQ(1)); /* 15.2.2.4.16 */ - mrb_define_method(mrb, mod, "class_variable_get", mrb_mod_cvar_get, ARGS_REQ(1)); /* 15.2.2.4.17 */ - mrb_define_method(mrb, mod, "class_variable_set", mrb_mod_cvar_set, ARGS_REQ(2)); /* 15.2.2.4.18 */ - mrb_define_method(mrb, mod, "extend_object", mrb_mod_extend_object, ARGS_REQ(1)); /* 15.2.2.4.25 */ - mrb_define_method(mrb, mod, "extended", mrb_bob_init, ARGS_REQ(1)); /* 15.2.2.4.26 */ - mrb_define_method(mrb, mod, "include", mrb_mod_include, ARGS_ANY()); /* 15.2.2.4.27 */ - mrb_define_method(mrb, mod, "include?", mrb_mod_include_p, ARGS_REQ(1)); /* 15.2.2.4.28 */ - mrb_define_method(mrb, mod, "append_features", mrb_mod_append_features, ARGS_REQ(1)); /* 15.2.2.4.10 */ - mrb_define_method(mrb, mod, "class_eval", mrb_mod_module_eval, ARGS_ANY()); /* 15.2.2.4.15 */ - mrb_define_method(mrb, mod, "included", mrb_bob_init, ARGS_REQ(1)); /* 15.2.2.4.29 */ - mrb_define_method(mrb, mod, "included_modules", mrb_mod_included_modules, ARGS_NONE()); /* 15.2.2.4.30 */ - mrb_define_method(mrb, mod, "instance_methods", mrb_mod_instance_methods, ARGS_ANY()); /* 15.2.2.4.33 */ - mrb_define_method(mrb, mod, "method_defined?", mrb_mod_method_defined, ARGS_REQ(1)); /* 15.2.2.4.34 */ - mrb_define_method(mrb, mod, "module_eval", mrb_mod_module_eval, ARGS_ANY()); /* 15.2.2.4.35 */ - mrb_define_method(mrb, mod, "remove_class_variable", mrb_mod_remove_cvar, ARGS_REQ(1)); /* 15.2.2.4.39 */ - mrb_define_method(mrb, mod, "remove_method", mrb_mod_remove_method, ARGS_ANY()); /* 15.2.2.4.41 */ - - mrb_define_method(mrb, mod, "to_s", mrb_mod_to_s, ARGS_NONE()); - mrb_define_method(mrb, mod, "inspect", mrb_mod_to_s, ARGS_NONE()); - mrb_define_method(mrb, mod, "alias_method", mrb_mod_alias, ARGS_ANY()); /* 15.2.2.4.8 */ - mrb_define_method(mrb, mod, "ancestors", mrb_mod_ancestors, ARGS_NONE()); /* 15.2.2.4.9 */ - mrb_define_method(mrb, mod, "undef_method", mrb_mod_undef, ARGS_ANY()); /* 15.2.2.4.41 */ - mrb_define_method(mrb, mod, "const_defined?", mrb_mod_const_defined, ARGS_REQ(1)); /* 15.2.2.4.20 */ - mrb_define_method(mrb, mod, "const_get", mrb_mod_const_get, ARGS_REQ(1)); /* 15.2.2.4.21 */ - mrb_define_method(mrb, mod, "const_set", mrb_mod_const_set, ARGS_REQ(2)); /* 15.2.2.4.23 */ - mrb_define_method(mrb, mod, "remove_const", mrb_mod_remove_const, ARGS_REQ(1)); /* 15.2.2.4.40 */ - mrb_define_method(mrb, mod, "define_method", mod_define_method, ARGS_REQ(1)); - mrb_define_method(mrb, mod, "class_variables", mrb_mod_class_variables, ARGS_NONE()); /* 15.2.2.4.19 */ - - mrb_define_method(mrb, mod, "===", mrb_mod_eqq, ARGS_REQ(1)); + mrb_define_method(mrb, bob, "initialize", mrb_bob_init, ARGS_NONE()); + mrb_define_method(mrb, bob, "!", mrb_bob_not, ARGS_NONE()); + mrb_define_method(mrb, bob, "method_missing", mrb_bob_missing, ARGS_ANY()); /* 15.3.1.3.30 */ + + mrb_define_class_method(mrb, cls, "new", mrb_class_new_class, ARGS_ANY()); + mrb_define_method(mrb, cls, "superclass", mrb_class_superclass, ARGS_NONE()); /* 15.2.3.3.4 */ + mrb_define_method(mrb, cls, "new", mrb_instance_new, ARGS_ANY()); /* 15.2.3.3.3 */ + mrb_define_method(mrb, cls, "inherited", mrb_bob_init, ARGS_REQ(1)); + + mrb_define_method(mrb, mod, "class_variable_defined?", mrb_mod_cvar_defined, ARGS_REQ(1)); /* 15.2.2.4.16 */ + mrb_define_method(mrb, mod, "class_variable_get", mrb_mod_cvar_get, ARGS_REQ(1)); /* 15.2.2.4.17 */ + mrb_define_method(mrb, mod, "class_variable_set", mrb_mod_cvar_set, ARGS_REQ(2)); /* 15.2.2.4.18 */ + mrb_define_method(mrb, mod, "extend_object", mrb_mod_extend_object, ARGS_REQ(1)); /* 15.2.2.4.25 */ + mrb_define_method(mrb, mod, "extended", mrb_bob_init, ARGS_REQ(1)); /* 15.2.2.4.26 */ + mrb_define_method(mrb, mod, "include", mrb_mod_include, ARGS_ANY()); /* 15.2.2.4.27 */ + mrb_define_method(mrb, mod, "include?", mrb_mod_include_p, ARGS_REQ(1)); /* 15.2.2.4.28 */ + mrb_define_method(mrb, mod, "append_features", mrb_mod_append_features, ARGS_REQ(1)); /* 15.2.2.4.10 */ + mrb_define_method(mrb, mod, "class_eval", mrb_mod_module_eval, ARGS_ANY()); /* 15.2.2.4.15 */ + mrb_define_method(mrb, mod, "included", mrb_bob_init, ARGS_REQ(1)); /* 15.2.2.4.29 */ + mrb_define_method(mrb, mod, "included_modules", mrb_mod_included_modules, ARGS_NONE()); /* 15.2.2.4.30 */ + mrb_define_method(mrb, mod, "instance_methods", mrb_mod_instance_methods, ARGS_ANY()); /* 15.2.2.4.33 */ + mrb_define_method(mrb, mod, "method_defined?", mrb_mod_method_defined, ARGS_REQ(1)); /* 15.2.2.4.34 */ + mrb_define_method(mrb, mod, "module_eval", mrb_mod_module_eval, ARGS_ANY()); /* 15.2.2.4.35 */ + mrb_define_method(mrb, mod, "remove_class_variable", mrb_mod_remove_cvar, ARGS_REQ(1)); /* 15.2.2.4.39 */ + mrb_define_method(mrb, mod, "remove_method", mrb_mod_remove_method, ARGS_ANY()); /* 15.2.2.4.41 */ + mrb_define_method(mrb, mod, "to_s", mrb_mod_to_s, ARGS_NONE()); + mrb_define_method(mrb, mod, "inspect", mrb_mod_to_s, ARGS_NONE()); + mrb_define_method(mrb, mod, "alias_method", mrb_mod_alias, ARGS_ANY()); /* 15.2.2.4.8 */ + mrb_define_method(mrb, mod, "ancestors", mrb_mod_ancestors, ARGS_NONE()); /* 15.2.2.4.9 */ + mrb_define_method(mrb, mod, "undef_method", mrb_mod_undef, ARGS_ANY()); /* 15.2.2.4.41 */ + mrb_define_method(mrb, mod, "const_defined?", mrb_mod_const_defined, ARGS_REQ(1)); /* 15.2.2.4.20 */ + mrb_define_method(mrb, mod, "const_get", mrb_mod_const_get, ARGS_REQ(1)); /* 15.2.2.4.21 */ + mrb_define_method(mrb, mod, "const_set", mrb_mod_const_set, ARGS_REQ(2)); /* 15.2.2.4.23 */ + mrb_define_method(mrb, mod, "remove_const", mrb_mod_remove_const, ARGS_REQ(1)); /* 15.2.2.4.40 */ + mrb_define_method(mrb, mod, "define_method", mod_define_method, ARGS_REQ(1)); + mrb_define_method(mrb, mod, "class_variables", mrb_mod_class_variables, ARGS_NONE()); /* 15.2.2.4.19 */ + mrb_define_method(mrb, mod, "===", mrb_mod_eqq, ARGS_REQ(1)); + mrb_undef_method(mrb, cls, "append_features"); mrb_undef_method(mrb, cls, "extend_object"); } diff --git a/src/codegen.c b/src/codegen.c index 53324f321..29fce8fc4 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -330,7 +330,7 @@ genop_peep(codegen_scope *s, mrb_code i, int val) if (c1 == OP_SUB) c = -c; if (c > 127 || c < -127) break; - if (0 <= c) + if (0 <= c) s->iseq[s->pc-1] = MKOP_ABC(OP_ADDI, GETARG_A(i), GETARG_B(i), c); else s->iseq[s->pc-1] = MKOP_ABC(OP_SUBI, GETARG_A(i), GETARG_B(i), -c); @@ -838,7 +838,6 @@ gen_assignment(codegen_scope *s, node *node, int sp, int val) lv++; up = up->prev; } - // assert(up!=0); } break; case NODE_IVAR: @@ -1162,7 +1161,7 @@ codegen(codegen_scope *s, node *tree, int val) if (e) { if (val) pop(); pos2 = new_label(s); - genop(s, MKOP_sBx(OP_JMP, 0)); + genop(s, MKOP_sBx(OP_JMP, 0)); dispatch(s, pos1); codegen(s, e, val); dispatch(s, pos2); @@ -1571,15 +1570,20 @@ codegen(codegen_scope *s, node *tree, int val) break; case NODE_RETURN: - codegen(s, tree, VAL); - pop(); + if (tree) { + codegen(s, tree, VAL); + pop(); + } + else { + genop(s, MKOP_A(OP_LOADNIL, cursp())); + } if (s->loop) { genop(s, MKOP_AB(OP_RETURN, cursp(), OP_R_RETURN)); } else { genop_peep(s, MKOP_AB(OP_RETURN, cursp(), OP_R_NORMAL), NOVAL); } - push(); + if (val) push(); break; case NODE_YIELD: @@ -1631,6 +1635,9 @@ codegen(codegen_scope *s, node *tree, int val) codegen(s, tree, VAL); pop(); } + else { + genop(s, MKOP_A(OP_LOADNIL, cursp())); + } genop_peep(s, MKOP_AB(OP_RETURN, cursp(), OP_R_NORMAL), NOVAL); } if (val) push(); @@ -1928,7 +1935,7 @@ codegen(codegen_scope *s, node *tree, int val) int ai = mrb_gc_arena_save(s->mrb); int sym = new_sym(s, mrb_intern(s->mrb, REGEXP_CLASS)); int off = new_lit(s, mrb_str_new(s->mrb, p1, strlen(p1))); - int n = 1; + int argc = 1; genop(s, MKOP_A(OP_OCLASS, cursp())); genop(s, MKOP_ABx(OP_GETMCNST, cursp(), sym)); @@ -1938,17 +1945,75 @@ codegen(codegen_scope *s, node *tree, int val) push(); off = new_lit(s, mrb_str_new(s->mrb, p2, strlen(p2))); genop(s, MKOP_ABx(OP_STRING, cursp(), off)); - n++; + argc++; pop(); } pop(); sym = new_sym(s, mrb_intern(s->mrb, "compile")); - genop(s, MKOP_ABC(OP_SEND, cursp(), sym, n)); - mrb_gc_arena_restore(s->mrb, ai); + genop(s, MKOP_ABC(OP_SEND, cursp(), sym, argc)); + mrb_gc_arena_restore(s->mrb, ai); push(); } break; + case NODE_DREGX: + if (val) { + node *n = tree->car; + int ai = mrb_gc_arena_save(s->mrb); + int sym = new_sym(s, mrb_intern(s->mrb, REGEXP_CLASS)); + int argc = 1; + int off; + char *p; + + genop(s, MKOP_A(OP_OCLASS, cursp())); + genop(s, MKOP_ABx(OP_GETMCNST, cursp(), sym)); + push(); + codegen(s, n->car, VAL); + n = n->cdr; + while (n) { + codegen(s, n->car, VAL); + pop(); pop(); + genop(s, MKOP_AB(OP_STRCAT, cursp(), cursp()+1)); + push(); + n = n->cdr; + } + n = tree->cdr->cdr; + if (n->car) { + p = (char*)n->car; + off = new_lit(s, mrb_str_new(s->mrb, p, strlen(p))); + codegen(s, tree->car, VAL); + genop(s, MKOP_ABx(OP_STRING, cursp(), off)); + pop(); + genop(s, MKOP_AB(OP_STRCAT, cursp(), cursp()+1)); + } + if (n->cdr) { + char *p2 = (char*)n->cdr; + int off; + + push(); + off = new_lit(s, mrb_str_new(s->mrb, p2, strlen(p2))); + genop(s, MKOP_ABx(OP_STRING, cursp(), off)); + argc++; + pop(); + } + pop(); + sym = new_sym(s, mrb_intern(s->mrb, "compile")); + genop(s, MKOP_ABC(OP_SEND, cursp(), sym, argc)); + mrb_gc_arena_restore(s->mrb, ai); + push(); + } + else { + node *n = tree->car; + + while (n) { + if ((intptr_t)n->car->car != NODE_STR) { + codegen(s, n->car, NOVAL); + } + n = n->cdr; + } + } + break; + case NODE_SYM: if (val) { int sym = new_sym(s, sym(tree)); @@ -2125,6 +2190,7 @@ codegen(codegen_scope *s, node *tree, int val) genop(s, MKOP_AB(OP_METHOD, cursp(), sym)); if (val) { genop(s, MKOP_A(OP_LOADNIL, cursp())); + push(); } } break; @@ -2144,6 +2210,7 @@ codegen(codegen_scope *s, node *tree, int val) genop(s, MKOP_AB(OP_METHOD, cursp(), sym)); if (val) { genop(s, MKOP_A(OP_LOADNIL, cursp())); + push(); } } break; diff --git a/src/error.c b/src/error.c index 70a84455f..7599bd0a9 100644 --- a/src/error.c +++ b/src/error.c @@ -125,7 +125,7 @@ exc_inspect(mrb_state *mrb, mrb_value exc) mesg = mrb_attr_get(mrb, exc, mrb_intern(mrb, "mesg")); file = mrb_attr_get(mrb, exc, mrb_intern(mrb, "file")); line = mrb_attr_get(mrb, exc, mrb_intern(mrb, "line")); - + if (!mrb_nil_p(file) && !mrb_nil_p(line)) { str = file; mrb_str_cat2(mrb, str, ":"); @@ -190,12 +190,12 @@ exc_debug_info(mrb_state *mrb, struct RObject *exc) ci--; while (ci >= mrb->cibase) { if (ci->proc && !MRB_PROC_CFUNC_P(ci->proc)) { - mrb_irep *irep = ci->proc->body.irep; + mrb_irep *irep = ci->proc->body.irep; if (irep->filename && irep->lines && irep->iseq <= pc && pc < irep->iseq + irep->ilen) { - mrb_obj_iv_set(mrb, exc, mrb_intern(mrb, "file"), mrb_str_new_cstr(mrb, irep->filename)); - mrb_obj_iv_set(mrb, exc, mrb_intern(mrb, "line"), mrb_fixnum_value(irep->lines[pc - irep->iseq - 1])); - return; + mrb_obj_iv_set(mrb, exc, mrb_intern(mrb, "file"), mrb_str_new_cstr(mrb, irep->filename)); + mrb_obj_iv_set(mrb, exc, mrb_intern(mrb, "line"), mrb_fixnum_value(irep->lines[pc - irep->iseq - 1])); + return; } } pc = ci->pc; @@ -366,14 +366,14 @@ make_exception(mrb_state *mrb, int argc, mrb_value *argv, int isstr) n = 1; exception_call: { - mrb_sym exc = mrb_intern(mrb, "exception"); - if (mrb_respond_to(mrb, argv[0], exc)) { - mesg = mrb_funcall_argv(mrb, argv[0], exc, n, argv+1); - } - else { - /* undef */ - mrb_raise(mrb, E_TYPE_ERROR, "exception class/object expected"); - } + mrb_sym exc = mrb_intern(mrb, "exception"); + if (mrb_respond_to(mrb, argv[0], exc)) { + mesg = mrb_funcall_argv(mrb, argv[0], exc, n, argv+1); + } + else { + /* undef */ + mrb_raise(mrb, E_TYPE_ERROR, "exception class/object expected"); + } } break; diff --git a/src/error.h b/src/error.h index 674d4f477..ba3fdac6c 100644 --- a/src/error.h +++ b/src/error.h @@ -7,10 +7,6 @@ #ifndef MRUBY_ERROR_H #define MRUBY_ERROR_H -struct RException { - MRB_OBJECT_HEADER; -}; - void mrb_sys_fail(mrb_state *mrb, const char *mesg); void mrb_bug_errno(const char*, int); int sysexit_status(mrb_state *mrb, mrb_value err); @@ -11,19 +11,19 @@ #include "mruby/data.h" struct RData* -mrb_data_object_alloc(mrb_state *mrb, struct RClass *klass, void *ptr, const struct mrb_data_type *type) +mrb_data_object_alloc(mrb_state *mrb, struct RClass *klass, void *ptr, const mrb_data_type *type) { struct RData *data; data = (struct RData*)mrb_obj_alloc(mrb, MRB_TT_DATA, klass); data->data = ptr; - data->type = (struct mrb_data_type*) type; + data->type = (mrb_data_type*) type; return data; } void * -mrb_get_datatype(mrb_state *mrb, mrb_value obj, const struct mrb_data_type *type) +mrb_get_datatype(mrb_state *mrb, mrb_value obj, const mrb_data_type *type) { if (mrb_special_const_p(obj) || (mrb_type(obj) != MRB_TT_DATA)) { return NULL; @@ -35,7 +35,7 @@ mrb_get_datatype(mrb_state *mrb, mrb_value obj, const struct mrb_data_type *type } void * -mrb_check_datatype(mrb_state *mrb, mrb_value obj, const struct mrb_data_type *type) +mrb_check_datatype(mrb_state *mrb, mrb_value obj, const mrb_data_type *type) { static const char mesg[] = "wrong argument type %s (expected %s)"; @@ -170,7 +170,6 @@ mrb_obj_id(mrb_value obj) case MRB_TT_ARRAY: case MRB_TT_HASH: case MRB_TT_RANGE: - case MRB_TT_STRUCT: case MRB_TT_EXCEPTION: case MRB_TT_FILE: case MRB_TT_DATA: @@ -11,7 +11,6 @@ #include "mruby/hash.h" #include "mruby/range.h" #include <string.h> -#include "mruby/struct.h" #include "mruby/proc.h" #include "mruby/data.h" #include "mruby/variable.h" @@ -86,9 +85,6 @@ typedef struct { struct RArray array; struct RHash hash; struct RRange range; -#ifdef ENABLE_STRUCT - struct RStruct strct; -#endif struct RData data; struct RProc proc; } as; @@ -271,9 +267,9 @@ add_heap(mrb_state *mrb) #define DEFAULT_GC_INTERVAL_RATIO 200 #define DEFAULT_GC_STEP_RATIO 200 #define DEFAULT_MAJOR_GC_INC_RATIO 200 -#define is_generational(mrb) (mrb->is_generational_gc_mode) -#define is_major_gc(mrb) (is_generational(mrb) && mrb->gc_full) -#define is_minor_gc(mrb) (is_generational(mrb) && !mrb->gc_full) +#define is_generational(mrb) ((mrb)->is_generational_gc_mode) +#define is_major_gc(mrb) (is_generational(mrb) && (mrb)->gc_full) +#define is_minor_gc(mrb) (is_generational(mrb) && !(mrb)->gc_full) void mrb_init_heap(mrb_state *mrb) @@ -305,7 +301,7 @@ mrb_free_heap(mrb_state *mrb) page = page->next; for (p = tmp->objects, e=p+MRB_HEAP_PAGE_SIZE; p<e; p++) { if (p->as.free.tt != MRB_TT_FREE) - obj_free(mrb, &p->as.basic); + obj_free(mrb, &p->as.basic); } mrb_free(mrb, tmp); } @@ -314,7 +310,7 @@ mrb_free_heap(mrb_state *mrb) static void gc_protect(mrb_state *mrb, struct RBasic *p) { - if (mrb->arena_idx > MRB_ARENA_SIZE) { + if (mrb->arena_idx >= MRB_ARENA_SIZE) { /* arena overflow error */ mrb->arena_idx = MRB_ARENA_SIZE - 4; /* force room in arena */ mrb_raise(mrb, E_RUNTIME_ERROR, "arena overflow error"); @@ -455,18 +451,6 @@ gc_mark_children(mrb_state *mrb, struct RBasic *obj) } break; -#ifdef ENABLE_STRUCT - case MRB_TT_STRUCT: - { - struct RStruct *s = (struct RStruct*)obj; - long i; - for (i=0; i<s->len; i++){ - mrb_gc_mark_value(mrb, s->ptr[i]); - } - } - break; -#endif - default: break; } @@ -539,12 +523,6 @@ obj_free(mrb_state *mrb, struct RBasic *obj) mrb_free(mrb, ((struct RRange*)obj)->edges); break; -#ifdef ENABLE_STRUCT - case MRB_TT_STRUCT: - mrb_free(mrb, ((struct RStruct*)obj)->ptr); - break; -#endif - case MRB_TT_DATA: { struct RData *d = (struct RData*)obj; @@ -608,7 +586,7 @@ root_scan_phase(mrb_state *mrb) mrb_irep *irep = mrb->irep[i]; if (!irep) continue; for (j=0; j<irep->plen; j++) { - mrb_gc_mark_value(mrb, irep->pool[j]); + mrb_gc_mark_value(mrb, irep->pool[j]); } } } @@ -664,15 +642,6 @@ gc_gray_mark(mrb_state *mrb, struct RBasic *obj) children+=2; break; -#ifdef ENABLE_STRUCT - case MRB_TT_STRUCT: - { - struct RStruct *s = (struct RStruct*)obj; - children += s->len; - } - break; -#endif - default: break; } diff --git a/src/hash.c b/src/hash.c index 5fa3c1ef8..728fc0f2f 100644 --- a/src/hash.c +++ b/src/hash.c @@ -150,13 +150,6 @@ mrb_hash_set(mrb_state *mrb, mrb_value hash, mrb_value key, mrb_value val) /* mr } mrb_value -mrb_hash_freeze(mrb_value hash) -{ - //return mrb_obj_freeze(hash); - return (hash); -} - -mrb_value mrb_hash_dup(mrb_state *mrb, mrb_value hash) { struct RHash* ret; @@ -533,11 +526,6 @@ mrb_hash_delete(mrb_state *mrb, mrb_value self) mrb_get_args(mrb, "o", &key); return mrb_hash_delete_key(mrb, self, key); } -struct shift_var { - mrb_value key; - mrb_value val; -}; - /* 15.2.13.4.24 */ /* @@ -571,7 +559,7 @@ mrb_hash_shift(mrb_state *mrb, mrb_value hash) delVal = mrb_hash_delete_key(mrb, hash, delKey); mrb_gc_protect(mrb, delVal); - return mrb_assoc_new(mrb, delKey, delVal); + return mrb_assoc_new(mrb, delKey, delVal); } } } @@ -1131,9 +1119,9 @@ hash_equal(mrb_state *mrb, mrb_value hash1, mrb_value hash2, int eql) key = kh_key(h1,k1); k2 = kh_get(ht, h2, key); if (k2 != kh_end(h2)) { - if (mrb_equal(mrb, kh_value(h1,k1), kh_value(h2,k2))) { - continue; /* next key */ - } + if (mrb_equal(mrb, kh_value(h1,k1), kh_value(h2,k2))) { + continue; /* next key */ + } } return mrb_false_value(); } diff --git a/src/init.c b/src/init.c index a85d0483d..0d1a24881 100644 --- a/src/init.c +++ b/src/init.c @@ -20,11 +20,8 @@ void mrb_init_array(mrb_state*); void mrb_init_hash(mrb_state*); void mrb_init_numeric(mrb_state*); void mrb_init_range(mrb_state*); -void mrb_init_struct(mrb_state*); void mrb_init_gc(mrb_state*); -void mrb_init_regexp(mrb_state*); void mrb_init_print(mrb_state*); -void mrb_init_time(mrb_state*); void mrb_init_math(mrb_state*); void mrb_init_mrblib(mrb_state*); void mrb_init_mrbgems(mrb_state*); @@ -50,20 +47,10 @@ mrb_init_core(mrb_state *mrb) mrb_init_hash(mrb); DONE; mrb_init_numeric(mrb); DONE; mrb_init_range(mrb); DONE; -#ifdef ENABLE_STRUCT - mrb_init_struct(mrb); DONE; -#endif mrb_init_gc(mrb); DONE; - mrb_init_regexp(mrb); DONE; #ifdef ENABLE_STDIO mrb_init_print(mrb); DONE; #endif -#ifdef ENABLE_TIME - mrb_init_time(mrb); DONE; -#endif -#ifdef ENABLE_MATH - mrb_init_math(mrb); DONE; -#endif mrb_init_mrblib(mrb); DONE; #ifndef DISABLE_GEMS mrb_init_mrbgems(mrb); DONE; diff --git a/src/kernel.c b/src/kernel.c index de4e474b3..c37b627a1 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -26,12 +26,6 @@ typedef enum { NOEX_RESPONDS = 0x80 } mrb_method_flag_t; -struct obj_ivar_tag { - mrb_value obj; - int (*func)(mrb_sym key, mrb_value val, void * arg); - void * arg; -}; - int mrb_obj_basic_to_s_p(mrb_state *mrb, mrb_value obj) { @@ -197,7 +191,7 @@ mrb_f_send(mrb_state *mrb, mrb_value self) mrb_sym name; mrb_value block, *argv; int argc; - + mrb_get_args(mrb, "n*&", &name, &argv, &argc, &block); return mrb_funcall_with_block(mrb,self, name, argc, argv, block); } @@ -311,7 +305,7 @@ init_copy(mrb_state *mrb, mrb_value dest, mrb_value obj) case MRB_TT_SCLASS: case MRB_TT_HASH: case MRB_TT_DATA: - mrb_iv_copy(mrb, dest, obj); + mrb_iv_copy(mrb, dest, obj); break; default: @@ -489,7 +483,7 @@ mrb_value mrb_yield_internal(mrb_state *mrb, mrb_value b, int argc, mrb_value *a * call-seq: * obj.instance_eval {| | block } -> obj * - * Evaluates the given block,within the context of the receiver (_obj_). + * Evaluates the given block,within the context of the receiver (_obj_). * In order to set the context, the variable +self+ is set to _obj_ while * the code is executing, giving the code access to _obj_'s * instance variables. In the version of <code>instance_eval</code> @@ -807,7 +801,7 @@ retry: * end * end * k = Klass.new - * k.methods[0..9] #=> [:kMethod, :freeze, :nil?, :is_a?, + * k.methods[0..9] #=> [:kMethod, :respond_to?, :nil?, :is_a?, * # :class, :instance_variable_set, * # :methods, :extend, :__send__, :instance_eval] * k.methods.length #=> 42 @@ -919,7 +913,7 @@ mrb_f_raise(mrb_state *mrb, mrb_value self) { mrb_value a[2], exc; int argc; - + argc = mrb_get_args(mrb, "|oo", &a[0], &a[1]); switch (argc) { diff --git a/src/load.c b/src/load.c index 850fa6e8d..84c21c186 100644 --- a/src/load.c +++ b/src/load.c @@ -536,7 +536,7 @@ mrb_read_irep(mrb_state *mrb, const char *bin) nirep = read_rite_header(mrb, src, &bin_header); if (nirep < 0) return nirep; - + src += sizeof(bin_header) + MRB_DUMP_SIZE_OF_SHORT; //header + crc //Read Binary Data Section diff --git a/src/name2ctype.h b/src/name2ctype.h deleted file mode 100644 index 0773bbf44..000000000 --- a/src/name2ctype.h +++ /dev/null @@ -1,17981 +0,0 @@ -/* C code produced by gperf version 3.0.3 */ -/* Command-line: gperf -7 -c -j1 -i1 -t -C -P -T -H uniname2ctype_hash -Q uniname2ctype_pool -N uniname2ctype_p */ -#ifndef USE_UNICODE_PROPERTIES -/* Computed positions: -k'1,3' */ -#else /* USE_UNICODE_PROPERTIES */ -/* Computed positions: -k'1-3,6,12,16,$' */ -#endif /* USE_UNICODE_PROPERTIES */ - -#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ - && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ - && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ - && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ - && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ - && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ - && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ - && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ - && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ - && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ - && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ - && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ - && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ - && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ - && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ - && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ - && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ - && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ - && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ - && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ - && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ - && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) -/* The character set is not based on ISO-646. */ -error "gperf generated tables don't work with this execution character set. Please report a bug to <[email protected]>." -#endif - - - -#ifdef USE_UNICODE_PROPERTIES -#ifdef USE_UNICODE_PROPERTIES -/* 'Any': - */ -static const OnigCodePoint CR_Any[] = { - 1, - 0x0000, 0x10ffff, -}; /* CR_Any */ - -/* 'Assigned': - */ -static const OnigCodePoint CR_Assigned[] = { - 485, - 0x0000, 0x0377, - 0x037a, 0x037e, - 0x0384, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x0525, - 0x0531, 0x0556, - 0x0559, 0x055f, - 0x0561, 0x0587, - 0x0589, 0x058a, - 0x0591, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f4, - 0x0600, 0x0603, - 0x0606, 0x061b, - 0x061e, 0x061f, - 0x0621, 0x065e, - 0x0660, 0x070d, - 0x070f, 0x074a, - 0x074d, 0x07b1, - 0x07c0, 0x07fa, - 0x0800, 0x082d, - 0x0830, 0x083e, - 0x0900, 0x0939, - 0x093c, 0x094e, - 0x0950, 0x0955, - 0x0958, 0x0972, - 0x0979, 0x097f, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bc, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09ce, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09e6, 0x09fb, - 0x0a01, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3c, 0x0a3c, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abc, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, - 0x0ae6, 0x0aef, - 0x0af1, 0x0af1, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b66, 0x0b71, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, - 0x0bd0, 0x0bd0, - 0x0bd7, 0x0bd7, - 0x0be6, 0x0bfa, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, - 0x0c66, 0x0c6f, - 0x0c78, 0x0c7f, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, - 0x0ce6, 0x0cef, - 0x0cf1, 0x0cf2, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4d, - 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d75, - 0x0d79, 0x0d7f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df4, - 0x0e01, 0x0e3a, - 0x0e3f, 0x0e5b, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f8b, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fbe, 0x0fcc, - 0x0fce, 0x0fd8, - 0x1000, 0x10c5, - 0x10d0, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x137c, - 0x1380, 0x1399, - 0x13a0, 0x13f4, - 0x1400, 0x169c, - 0x16a0, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1714, - 0x1720, 0x1736, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17dd, - 0x17e0, 0x17e9, - 0x17f0, 0x17f9, - 0x1800, 0x180e, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1940, 0x1940, - 0x1944, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x19de, 0x1a1b, - 0x1a1e, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa0, 0x1aad, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b7c, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, - 0x1c00, 0x1c37, - 0x1c3b, 0x1c49, - 0x1c4d, 0x1c7f, - 0x1cd0, 0x1cf2, - 0x1d00, 0x1de6, - 0x1dfd, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fc4, - 0x1fc6, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fdd, 0x1fef, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffe, - 0x2000, 0x2064, - 0x206a, 0x2071, - 0x2074, 0x208e, - 0x2090, 0x2094, - 0x20a0, 0x20b8, - 0x20d0, 0x20f0, - 0x2100, 0x2189, - 0x2190, 0x23e8, - 0x2400, 0x2426, - 0x2440, 0x244a, - 0x2460, 0x26cd, - 0x26cf, 0x26e1, - 0x26e3, 0x26e3, - 0x26e8, 0x26ff, - 0x2701, 0x2704, - 0x2706, 0x2709, - 0x270c, 0x2727, - 0x2729, 0x274b, - 0x274d, 0x274d, - 0x274f, 0x2752, - 0x2756, 0x275e, - 0x2761, 0x2794, - 0x2798, 0x27af, - 0x27b1, 0x27be, - 0x27c0, 0x27ca, - 0x27cc, 0x27cc, - 0x27d0, 0x2b4c, - 0x2b50, 0x2b59, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2cf1, - 0x2cf9, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2de0, 0x2e31, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x2ff0, 0x2ffb, - 0x3000, 0x303f, - 0x3041, 0x3096, - 0x3099, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x3190, 0x31b7, - 0x31c0, 0x31e3, - 0x31f0, 0x321e, - 0x3220, 0x32fe, - 0x3300, 0x4db5, - 0x4dc0, 0x9fcb, - 0xa000, 0xa48c, - 0xa490, 0xa4c6, - 0xa4d0, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa673, - 0xa67c, 0xa697, - 0xa6a0, 0xa6f7, - 0xa700, 0xa78c, - 0xa7fb, 0xa82b, - 0xa830, 0xa839, - 0xa840, 0xa877, - 0xa880, 0xa8c4, - 0xa8ce, 0xa8d9, - 0xa8e0, 0xa8fb, - 0xa900, 0xa953, - 0xa95f, 0xa97c, - 0xa980, 0xa9cd, - 0xa9cf, 0xa9d9, - 0xa9de, 0xa9df, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa5c, 0xaa7b, - 0xaa80, 0xaac2, - 0xaadb, 0xaadf, - 0xabc0, 0xabed, - 0xabf0, 0xabf9, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xd800, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3f, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfd, - 0xfe00, 0xfe19, - 0xfe20, 0xfe26, - 0xfe30, 0xfe52, - 0xfe54, 0xfe66, - 0xfe68, 0xfe6b, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xfeff, 0xfeff, - 0xff01, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0xffe0, 0xffe6, - 0xffe8, 0xffee, - 0xfff9, 0xfffd, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10100, 0x10102, - 0x10107, 0x10133, - 0x10137, 0x1018a, - 0x10190, 0x1019b, - 0x101d0, 0x101fd, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10320, 0x10323, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x1039f, 0x103c3, - 0x103c8, 0x103d5, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10857, 0x1085f, - 0x10900, 0x1091b, - 0x1091f, 0x10939, - 0x1093f, 0x1093f, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a47, - 0x10a50, 0x10a58, - 0x10a60, 0x10a7f, - 0x10b00, 0x10b35, - 0x10b39, 0x10b55, - 0x10b58, 0x10b72, - 0x10b78, 0x10b7f, - 0x10c00, 0x10c48, - 0x10e60, 0x10e7e, - 0x11080, 0x110c1, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x12470, 0x12473, - 0x13000, 0x1342e, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d129, 0x1d1dd, - 0x1d200, 0x1d245, - 0x1d300, 0x1d356, - 0x1d360, 0x1d371, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f100, 0x1f10a, - 0x1f110, 0x1f12e, - 0x1f131, 0x1f131, - 0x1f13d, 0x1f13d, - 0x1f13f, 0x1f13f, - 0x1f142, 0x1f142, - 0x1f146, 0x1f146, - 0x1f14a, 0x1f14e, - 0x1f157, 0x1f157, - 0x1f15f, 0x1f15f, - 0x1f179, 0x1f179, - 0x1f17b, 0x1f17c, - 0x1f17f, 0x1f17f, - 0x1f18a, 0x1f18d, - 0x1f190, 0x1f190, - 0x1f200, 0x1f200, - 0x1f210, 0x1f231, - 0x1f240, 0x1f248, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, - 0xe0100, 0xe01ef, - 0xf0000, 0xffffd, - 0x100000, 0x10fffd, -}; /* CR_Assigned */ - -/* 'C': Major Category */ -static const OnigCodePoint CR_C[] = { - 20, - 0x0000, 0x001f, - 0x007f, 0x009f, - 0x00ad, 0x00ad, - 0x0600, 0x0603, - 0x06dd, 0x06dd, - 0x070f, 0x070f, - 0x17b4, 0x17b5, - 0x200b, 0x200f, - 0x202a, 0x202e, - 0x2060, 0x2064, - 0x206a, 0x206f, - 0xd800, 0xf8ff, - 0xfeff, 0xfeff, - 0xfff9, 0xfffb, - 0x110bd, 0x110bd, - 0x1d173, 0x1d17a, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, - 0xf0000, 0xffffd, - 0x100000, 0x10ffff, -}; /* CR_C */ - -/* 'Cc': General Category */ -static const OnigCodePoint CR_Cc[] = { - 2, - 0x0000, 0x001f, - 0x007f, 0x009f, -}; /* CR_Cc */ - -/* 'Cf': General Category */ -static const OnigCodePoint CR_Cf[] = { - 15, - 0x00ad, 0x00ad, - 0x0600, 0x0603, - 0x06dd, 0x06dd, - 0x070f, 0x070f, - 0x17b4, 0x17b5, - 0x200b, 0x200f, - 0x202a, 0x202e, - 0x2060, 0x2064, - 0x206a, 0x206f, - 0xfeff, 0xfeff, - 0xfff9, 0xfffb, - 0x110bd, 0x110bd, - 0x1d173, 0x1d17a, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, -}; /* CR_Cf */ - -/* 'Cn': General Category */ -static const OnigCodePoint CR_Cn[] = { - 485, - 0x0378, 0x0379, - 0x037f, 0x0383, - 0x038b, 0x038b, - 0x038d, 0x038d, - 0x03a2, 0x03a2, - 0x0526, 0x0530, - 0x0557, 0x0558, - 0x0560, 0x0560, - 0x0588, 0x0588, - 0x058b, 0x0590, - 0x05c8, 0x05cf, - 0x05eb, 0x05ef, - 0x05f5, 0x05ff, - 0x0604, 0x0605, - 0x061c, 0x061d, - 0x0620, 0x0620, - 0x065f, 0x065f, - 0x070e, 0x070e, - 0x074b, 0x074c, - 0x07b2, 0x07bf, - 0x07fb, 0x07ff, - 0x082e, 0x082f, - 0x083f, 0x08ff, - 0x093a, 0x093b, - 0x094f, 0x094f, - 0x0956, 0x0957, - 0x0973, 0x0978, - 0x0980, 0x0980, - 0x0984, 0x0984, - 0x098d, 0x098e, - 0x0991, 0x0992, - 0x09a9, 0x09a9, - 0x09b1, 0x09b1, - 0x09b3, 0x09b5, - 0x09ba, 0x09bb, - 0x09c5, 0x09c6, - 0x09c9, 0x09ca, - 0x09cf, 0x09d6, - 0x09d8, 0x09db, - 0x09de, 0x09de, - 0x09e4, 0x09e5, - 0x09fc, 0x0a00, - 0x0a04, 0x0a04, - 0x0a0b, 0x0a0e, - 0x0a11, 0x0a12, - 0x0a29, 0x0a29, - 0x0a31, 0x0a31, - 0x0a34, 0x0a34, - 0x0a37, 0x0a37, - 0x0a3a, 0x0a3b, - 0x0a3d, 0x0a3d, - 0x0a43, 0x0a46, - 0x0a49, 0x0a4a, - 0x0a4e, 0x0a50, - 0x0a52, 0x0a58, - 0x0a5d, 0x0a5d, - 0x0a5f, 0x0a65, - 0x0a76, 0x0a80, - 0x0a84, 0x0a84, - 0x0a8e, 0x0a8e, - 0x0a92, 0x0a92, - 0x0aa9, 0x0aa9, - 0x0ab1, 0x0ab1, - 0x0ab4, 0x0ab4, - 0x0aba, 0x0abb, - 0x0ac6, 0x0ac6, - 0x0aca, 0x0aca, - 0x0ace, 0x0acf, - 0x0ad1, 0x0adf, - 0x0ae4, 0x0ae5, - 0x0af0, 0x0af0, - 0x0af2, 0x0b00, - 0x0b04, 0x0b04, - 0x0b0d, 0x0b0e, - 0x0b11, 0x0b12, - 0x0b29, 0x0b29, - 0x0b31, 0x0b31, - 0x0b34, 0x0b34, - 0x0b3a, 0x0b3b, - 0x0b45, 0x0b46, - 0x0b49, 0x0b4a, - 0x0b4e, 0x0b55, - 0x0b58, 0x0b5b, - 0x0b5e, 0x0b5e, - 0x0b64, 0x0b65, - 0x0b72, 0x0b81, - 0x0b84, 0x0b84, - 0x0b8b, 0x0b8d, - 0x0b91, 0x0b91, - 0x0b96, 0x0b98, - 0x0b9b, 0x0b9b, - 0x0b9d, 0x0b9d, - 0x0ba0, 0x0ba2, - 0x0ba5, 0x0ba7, - 0x0bab, 0x0bad, - 0x0bba, 0x0bbd, - 0x0bc3, 0x0bc5, - 0x0bc9, 0x0bc9, - 0x0bce, 0x0bcf, - 0x0bd1, 0x0bd6, - 0x0bd8, 0x0be5, - 0x0bfb, 0x0c00, - 0x0c04, 0x0c04, - 0x0c0d, 0x0c0d, - 0x0c11, 0x0c11, - 0x0c29, 0x0c29, - 0x0c34, 0x0c34, - 0x0c3a, 0x0c3c, - 0x0c45, 0x0c45, - 0x0c49, 0x0c49, - 0x0c4e, 0x0c54, - 0x0c57, 0x0c57, - 0x0c5a, 0x0c5f, - 0x0c64, 0x0c65, - 0x0c70, 0x0c77, - 0x0c80, 0x0c81, - 0x0c84, 0x0c84, - 0x0c8d, 0x0c8d, - 0x0c91, 0x0c91, - 0x0ca9, 0x0ca9, - 0x0cb4, 0x0cb4, - 0x0cba, 0x0cbb, - 0x0cc5, 0x0cc5, - 0x0cc9, 0x0cc9, - 0x0cce, 0x0cd4, - 0x0cd7, 0x0cdd, - 0x0cdf, 0x0cdf, - 0x0ce4, 0x0ce5, - 0x0cf0, 0x0cf0, - 0x0cf3, 0x0d01, - 0x0d04, 0x0d04, - 0x0d0d, 0x0d0d, - 0x0d11, 0x0d11, - 0x0d29, 0x0d29, - 0x0d3a, 0x0d3c, - 0x0d45, 0x0d45, - 0x0d49, 0x0d49, - 0x0d4e, 0x0d56, - 0x0d58, 0x0d5f, - 0x0d64, 0x0d65, - 0x0d76, 0x0d78, - 0x0d80, 0x0d81, - 0x0d84, 0x0d84, - 0x0d97, 0x0d99, - 0x0db2, 0x0db2, - 0x0dbc, 0x0dbc, - 0x0dbe, 0x0dbf, - 0x0dc7, 0x0dc9, - 0x0dcb, 0x0dce, - 0x0dd5, 0x0dd5, - 0x0dd7, 0x0dd7, - 0x0de0, 0x0df1, - 0x0df5, 0x0e00, - 0x0e3b, 0x0e3e, - 0x0e5c, 0x0e80, - 0x0e83, 0x0e83, - 0x0e85, 0x0e86, - 0x0e89, 0x0e89, - 0x0e8b, 0x0e8c, - 0x0e8e, 0x0e93, - 0x0e98, 0x0e98, - 0x0ea0, 0x0ea0, - 0x0ea4, 0x0ea4, - 0x0ea6, 0x0ea6, - 0x0ea8, 0x0ea9, - 0x0eac, 0x0eac, - 0x0eba, 0x0eba, - 0x0ebe, 0x0ebf, - 0x0ec5, 0x0ec5, - 0x0ec7, 0x0ec7, - 0x0ece, 0x0ecf, - 0x0eda, 0x0edb, - 0x0ede, 0x0eff, - 0x0f48, 0x0f48, - 0x0f6d, 0x0f70, - 0x0f8c, 0x0f8f, - 0x0f98, 0x0f98, - 0x0fbd, 0x0fbd, - 0x0fcd, 0x0fcd, - 0x0fd9, 0x0fff, - 0x10c6, 0x10cf, - 0x10fd, 0x10ff, - 0x1249, 0x1249, - 0x124e, 0x124f, - 0x1257, 0x1257, - 0x1259, 0x1259, - 0x125e, 0x125f, - 0x1289, 0x1289, - 0x128e, 0x128f, - 0x12b1, 0x12b1, - 0x12b6, 0x12b7, - 0x12bf, 0x12bf, - 0x12c1, 0x12c1, - 0x12c6, 0x12c7, - 0x12d7, 0x12d7, - 0x1311, 0x1311, - 0x1316, 0x1317, - 0x135b, 0x135e, - 0x137d, 0x137f, - 0x139a, 0x139f, - 0x13f5, 0x13ff, - 0x169d, 0x169f, - 0x16f1, 0x16ff, - 0x170d, 0x170d, - 0x1715, 0x171f, - 0x1737, 0x173f, - 0x1754, 0x175f, - 0x176d, 0x176d, - 0x1771, 0x1771, - 0x1774, 0x177f, - 0x17de, 0x17df, - 0x17ea, 0x17ef, - 0x17fa, 0x17ff, - 0x180f, 0x180f, - 0x181a, 0x181f, - 0x1878, 0x187f, - 0x18ab, 0x18af, - 0x18f6, 0x18ff, - 0x191d, 0x191f, - 0x192c, 0x192f, - 0x193c, 0x193f, - 0x1941, 0x1943, - 0x196e, 0x196f, - 0x1975, 0x197f, - 0x19ac, 0x19af, - 0x19ca, 0x19cf, - 0x19db, 0x19dd, - 0x1a1c, 0x1a1d, - 0x1a5f, 0x1a5f, - 0x1a7d, 0x1a7e, - 0x1a8a, 0x1a8f, - 0x1a9a, 0x1a9f, - 0x1aae, 0x1aff, - 0x1b4c, 0x1b4f, - 0x1b7d, 0x1b7f, - 0x1bab, 0x1bad, - 0x1bba, 0x1bff, - 0x1c38, 0x1c3a, - 0x1c4a, 0x1c4c, - 0x1c80, 0x1ccf, - 0x1cf3, 0x1cff, - 0x1de7, 0x1dfc, - 0x1f16, 0x1f17, - 0x1f1e, 0x1f1f, - 0x1f46, 0x1f47, - 0x1f4e, 0x1f4f, - 0x1f58, 0x1f58, - 0x1f5a, 0x1f5a, - 0x1f5c, 0x1f5c, - 0x1f5e, 0x1f5e, - 0x1f7e, 0x1f7f, - 0x1fb5, 0x1fb5, - 0x1fc5, 0x1fc5, - 0x1fd4, 0x1fd5, - 0x1fdc, 0x1fdc, - 0x1ff0, 0x1ff1, - 0x1ff5, 0x1ff5, - 0x1fff, 0x1fff, - 0x2065, 0x2069, - 0x2072, 0x2073, - 0x208f, 0x208f, - 0x2095, 0x209f, - 0x20b9, 0x20cf, - 0x20f1, 0x20ff, - 0x218a, 0x218f, - 0x23e9, 0x23ff, - 0x2427, 0x243f, - 0x244b, 0x245f, - 0x26ce, 0x26ce, - 0x26e2, 0x26e2, - 0x26e4, 0x26e7, - 0x2700, 0x2700, - 0x2705, 0x2705, - 0x270a, 0x270b, - 0x2728, 0x2728, - 0x274c, 0x274c, - 0x274e, 0x274e, - 0x2753, 0x2755, - 0x275f, 0x2760, - 0x2795, 0x2797, - 0x27b0, 0x27b0, - 0x27bf, 0x27bf, - 0x27cb, 0x27cb, - 0x27cd, 0x27cf, - 0x2b4d, 0x2b4f, - 0x2b5a, 0x2bff, - 0x2c2f, 0x2c2f, - 0x2c5f, 0x2c5f, - 0x2cf2, 0x2cf8, - 0x2d26, 0x2d2f, - 0x2d66, 0x2d6e, - 0x2d70, 0x2d7f, - 0x2d97, 0x2d9f, - 0x2da7, 0x2da7, - 0x2daf, 0x2daf, - 0x2db7, 0x2db7, - 0x2dbf, 0x2dbf, - 0x2dc7, 0x2dc7, - 0x2dcf, 0x2dcf, - 0x2dd7, 0x2dd7, - 0x2ddf, 0x2ddf, - 0x2e32, 0x2e7f, - 0x2e9a, 0x2e9a, - 0x2ef4, 0x2eff, - 0x2fd6, 0x2fef, - 0x2ffc, 0x2fff, - 0x3040, 0x3040, - 0x3097, 0x3098, - 0x3100, 0x3104, - 0x312e, 0x3130, - 0x318f, 0x318f, - 0x31b8, 0x31bf, - 0x31e4, 0x31ef, - 0x321f, 0x321f, - 0x32ff, 0x32ff, - 0x4db6, 0x4dbf, - 0x9fcc, 0x9fff, - 0xa48d, 0xa48f, - 0xa4c7, 0xa4cf, - 0xa62c, 0xa63f, - 0xa660, 0xa661, - 0xa674, 0xa67b, - 0xa698, 0xa69f, - 0xa6f8, 0xa6ff, - 0xa78d, 0xa7fa, - 0xa82c, 0xa82f, - 0xa83a, 0xa83f, - 0xa878, 0xa87f, - 0xa8c5, 0xa8cd, - 0xa8da, 0xa8df, - 0xa8fc, 0xa8ff, - 0xa954, 0xa95e, - 0xa97d, 0xa97f, - 0xa9ce, 0xa9ce, - 0xa9da, 0xa9dd, - 0xa9e0, 0xa9ff, - 0xaa37, 0xaa3f, - 0xaa4e, 0xaa4f, - 0xaa5a, 0xaa5b, - 0xaa7c, 0xaa7f, - 0xaac3, 0xaada, - 0xaae0, 0xabbf, - 0xabee, 0xabef, - 0xabfa, 0xabff, - 0xd7a4, 0xd7af, - 0xd7c7, 0xd7ca, - 0xd7fc, 0xd7ff, - 0xfa2e, 0xfa2f, - 0xfa6e, 0xfa6f, - 0xfada, 0xfaff, - 0xfb07, 0xfb12, - 0xfb18, 0xfb1c, - 0xfb37, 0xfb37, - 0xfb3d, 0xfb3d, - 0xfb3f, 0xfb3f, - 0xfb42, 0xfb42, - 0xfb45, 0xfb45, - 0xfbb2, 0xfbd2, - 0xfd40, 0xfd4f, - 0xfd90, 0xfd91, - 0xfdc8, 0xfdef, - 0xfdfe, 0xfdff, - 0xfe1a, 0xfe1f, - 0xfe27, 0xfe2f, - 0xfe53, 0xfe53, - 0xfe67, 0xfe67, - 0xfe6c, 0xfe6f, - 0xfe75, 0xfe75, - 0xfefd, 0xfefe, - 0xff00, 0xff00, - 0xffbf, 0xffc1, - 0xffc8, 0xffc9, - 0xffd0, 0xffd1, - 0xffd8, 0xffd9, - 0xffdd, 0xffdf, - 0xffe7, 0xffe7, - 0xffef, 0xfff8, - 0xfffe, 0xffff, - 0x1000c, 0x1000c, - 0x10027, 0x10027, - 0x1003b, 0x1003b, - 0x1003e, 0x1003e, - 0x1004e, 0x1004f, - 0x1005e, 0x1007f, - 0x100fb, 0x100ff, - 0x10103, 0x10106, - 0x10134, 0x10136, - 0x1018b, 0x1018f, - 0x1019c, 0x101cf, - 0x101fe, 0x1027f, - 0x1029d, 0x1029f, - 0x102d1, 0x102ff, - 0x1031f, 0x1031f, - 0x10324, 0x1032f, - 0x1034b, 0x1037f, - 0x1039e, 0x1039e, - 0x103c4, 0x103c7, - 0x103d6, 0x103ff, - 0x1049e, 0x1049f, - 0x104aa, 0x107ff, - 0x10806, 0x10807, - 0x10809, 0x10809, - 0x10836, 0x10836, - 0x10839, 0x1083b, - 0x1083d, 0x1083e, - 0x10856, 0x10856, - 0x10860, 0x108ff, - 0x1091c, 0x1091e, - 0x1093a, 0x1093e, - 0x10940, 0x109ff, - 0x10a04, 0x10a04, - 0x10a07, 0x10a0b, - 0x10a14, 0x10a14, - 0x10a18, 0x10a18, - 0x10a34, 0x10a37, - 0x10a3b, 0x10a3e, - 0x10a48, 0x10a4f, - 0x10a59, 0x10a5f, - 0x10a80, 0x10aff, - 0x10b36, 0x10b38, - 0x10b56, 0x10b57, - 0x10b73, 0x10b77, - 0x10b80, 0x10bff, - 0x10c49, 0x10e5f, - 0x10e7f, 0x1107f, - 0x110c2, 0x11fff, - 0x1236f, 0x123ff, - 0x12463, 0x1246f, - 0x12474, 0x12fff, - 0x1342f, 0x1cfff, - 0x1d0f6, 0x1d0ff, - 0x1d127, 0x1d128, - 0x1d1de, 0x1d1ff, - 0x1d246, 0x1d2ff, - 0x1d357, 0x1d35f, - 0x1d372, 0x1d3ff, - 0x1d455, 0x1d455, - 0x1d49d, 0x1d49d, - 0x1d4a0, 0x1d4a1, - 0x1d4a3, 0x1d4a4, - 0x1d4a7, 0x1d4a8, - 0x1d4ad, 0x1d4ad, - 0x1d4ba, 0x1d4ba, - 0x1d4bc, 0x1d4bc, - 0x1d4c4, 0x1d4c4, - 0x1d506, 0x1d506, - 0x1d50b, 0x1d50c, - 0x1d515, 0x1d515, - 0x1d51d, 0x1d51d, - 0x1d53a, 0x1d53a, - 0x1d53f, 0x1d53f, - 0x1d545, 0x1d545, - 0x1d547, 0x1d549, - 0x1d551, 0x1d551, - 0x1d6a6, 0x1d6a7, - 0x1d7cc, 0x1d7cd, - 0x1d800, 0x1efff, - 0x1f02c, 0x1f02f, - 0x1f094, 0x1f0ff, - 0x1f10b, 0x1f10f, - 0x1f12f, 0x1f130, - 0x1f132, 0x1f13c, - 0x1f13e, 0x1f13e, - 0x1f140, 0x1f141, - 0x1f143, 0x1f145, - 0x1f147, 0x1f149, - 0x1f14f, 0x1f156, - 0x1f158, 0x1f15e, - 0x1f160, 0x1f178, - 0x1f17a, 0x1f17a, - 0x1f17d, 0x1f17e, - 0x1f180, 0x1f189, - 0x1f18e, 0x1f18f, - 0x1f191, 0x1f1ff, - 0x1f201, 0x1f20f, - 0x1f232, 0x1f23f, - 0x1f249, 0x1ffff, - 0x2a6d7, 0x2a6ff, - 0x2b735, 0x2f7ff, - 0x2fa1e, 0xe0000, - 0xe0002, 0xe001f, - 0xe0080, 0xe00ff, - 0xe01f0, 0xeffff, - 0xffffe, 0xfffff, - 0x10fffe, 0x10ffff, -}; /* CR_Cn */ - -/* 'Co': General Category */ -static const OnigCodePoint CR_Co[] = { - 3, - 0xe000, 0xf8ff, - 0xf0000, 0xffffd, - 0x100000, 0x10fffd, -}; /* CR_Co */ - -/* 'Cs': General Category */ -static const OnigCodePoint CR_Cs[] = { - 1, - 0xd800, 0xdfff, -}; /* CR_Cs */ - -/* 'L': Major Category */ -static const OnigCodePoint CR_L[] = { - 422, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0370, 0x0374, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x048a, 0x0525, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0621, 0x064a, - 0x066e, 0x066f, - 0x0671, 0x06d3, - 0x06d5, 0x06d5, - 0x06e5, 0x06e6, - 0x06ee, 0x06ef, - 0x06fa, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x0710, - 0x0712, 0x072f, - 0x074d, 0x07a5, - 0x07b1, 0x07b1, - 0x07ca, 0x07ea, - 0x07f4, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x0815, - 0x081a, 0x081a, - 0x0824, 0x0824, - 0x0828, 0x0828, - 0x0904, 0x0939, - 0x093d, 0x093d, - 0x0950, 0x0950, - 0x0958, 0x0961, - 0x0971, 0x0972, - 0x0979, 0x097f, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bd, 0x09bd, - 0x09ce, 0x09ce, - 0x09dc, 0x09dd, - 0x09df, 0x09e1, - 0x09f0, 0x09f1, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a72, 0x0a74, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abd, 0x0abd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae1, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3d, 0x0b3d, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, - 0x0b71, 0x0b71, - 0x0b83, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bd0, 0x0bd0, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c3d, - 0x0c58, 0x0c59, - 0x0c60, 0x0c61, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cbd, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d3d, - 0x0d60, 0x0d61, - 0x0d7a, 0x0d7f, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0e01, 0x0e30, - 0x0e32, 0x0e33, - 0x0e40, 0x0e46, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb0, - 0x0eb2, 0x0eb3, - 0x0ebd, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f40, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f88, 0x0f8b, - 0x1000, 0x102a, - 0x103f, 0x103f, - 0x1050, 0x1055, - 0x105a, 0x105d, - 0x1061, 0x1061, - 0x1065, 0x1066, - 0x106e, 0x1070, - 0x1075, 0x1081, - 0x108e, 0x108e, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x1700, 0x170c, - 0x170e, 0x1711, - 0x1720, 0x1731, - 0x1740, 0x1751, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1780, 0x17b3, - 0x17d7, 0x17d7, - 0x17dc, 0x17dc, - 0x1820, 0x1877, - 0x1880, 0x18a8, - 0x18aa, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1950, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19c1, 0x19c7, - 0x1a00, 0x1a16, - 0x1a20, 0x1a54, - 0x1aa7, 0x1aa7, - 0x1b05, 0x1b33, - 0x1b45, 0x1b4b, - 0x1b83, 0x1ba0, - 0x1bae, 0x1baf, - 0x1c00, 0x1c23, - 0x1c4d, 0x1c4f, - 0x1c5a, 0x1c7d, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf1, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x2094, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x212f, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2183, 0x2184, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2e2f, 0x2e2f, - 0x3005, 0x3006, - 0x3031, 0x3035, - 0x303b, 0x303c, - 0x3041, 0x3096, - 0x309d, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31b7, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa61f, - 0xa62a, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa66e, - 0xa67f, 0xa697, - 0xa6a0, 0xa6e5, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78c, - 0xa7fb, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa822, - 0xa840, 0xa873, - 0xa882, 0xa8b3, - 0xa8f2, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa90a, 0xa925, - 0xa930, 0xa946, - 0xa960, 0xa97c, - 0xa984, 0xa9b2, - 0xa9cf, 0xa9cf, - 0xaa00, 0xaa28, - 0xaa40, 0xaa42, - 0xaa44, 0xaa4b, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7a, - 0xaa80, 0xaaaf, - 0xaab1, 0xaab1, - 0xaab5, 0xaab6, - 0xaab9, 0xaabd, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadd, - 0xabc0, 0xabe2, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb1d, - 0xfb1f, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0xff66, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x10340, - 0x10342, 0x10349, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x10400, 0x1049d, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a00, - 0x10a10, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11083, 0x110af, - 0x12000, 0x1236e, - 0x13000, 0x1342e, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, -}; /* CR_L */ - -/* 'Ll': General Category */ -static const OnigCodePoint CR_Ll[] = { - 599, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00df, 0x00f6, - 0x00f8, 0x00ff, - 0x0101, 0x0101, - 0x0103, 0x0103, - 0x0105, 0x0105, - 0x0107, 0x0107, - 0x0109, 0x0109, - 0x010b, 0x010b, - 0x010d, 0x010d, - 0x010f, 0x010f, - 0x0111, 0x0111, - 0x0113, 0x0113, - 0x0115, 0x0115, - 0x0117, 0x0117, - 0x0119, 0x0119, - 0x011b, 0x011b, - 0x011d, 0x011d, - 0x011f, 0x011f, - 0x0121, 0x0121, - 0x0123, 0x0123, - 0x0125, 0x0125, - 0x0127, 0x0127, - 0x0129, 0x0129, - 0x012b, 0x012b, - 0x012d, 0x012d, - 0x012f, 0x012f, - 0x0131, 0x0131, - 0x0133, 0x0133, - 0x0135, 0x0135, - 0x0137, 0x0138, - 0x013a, 0x013a, - 0x013c, 0x013c, - 0x013e, 0x013e, - 0x0140, 0x0140, - 0x0142, 0x0142, - 0x0144, 0x0144, - 0x0146, 0x0146, - 0x0148, 0x0149, - 0x014b, 0x014b, - 0x014d, 0x014d, - 0x014f, 0x014f, - 0x0151, 0x0151, - 0x0153, 0x0153, - 0x0155, 0x0155, - 0x0157, 0x0157, - 0x0159, 0x0159, - 0x015b, 0x015b, - 0x015d, 0x015d, - 0x015f, 0x015f, - 0x0161, 0x0161, - 0x0163, 0x0163, - 0x0165, 0x0165, - 0x0167, 0x0167, - 0x0169, 0x0169, - 0x016b, 0x016b, - 0x016d, 0x016d, - 0x016f, 0x016f, - 0x0171, 0x0171, - 0x0173, 0x0173, - 0x0175, 0x0175, - 0x0177, 0x0177, - 0x017a, 0x017a, - 0x017c, 0x017c, - 0x017e, 0x0180, - 0x0183, 0x0183, - 0x0185, 0x0185, - 0x0188, 0x0188, - 0x018c, 0x018d, - 0x0192, 0x0192, - 0x0195, 0x0195, - 0x0199, 0x019b, - 0x019e, 0x019e, - 0x01a1, 0x01a1, - 0x01a3, 0x01a3, - 0x01a5, 0x01a5, - 0x01a8, 0x01a8, - 0x01aa, 0x01ab, - 0x01ad, 0x01ad, - 0x01b0, 0x01b0, - 0x01b4, 0x01b4, - 0x01b6, 0x01b6, - 0x01b9, 0x01ba, - 0x01bd, 0x01bf, - 0x01c6, 0x01c6, - 0x01c9, 0x01c9, - 0x01cc, 0x01cc, - 0x01ce, 0x01ce, - 0x01d0, 0x01d0, - 0x01d2, 0x01d2, - 0x01d4, 0x01d4, - 0x01d6, 0x01d6, - 0x01d8, 0x01d8, - 0x01da, 0x01da, - 0x01dc, 0x01dd, - 0x01df, 0x01df, - 0x01e1, 0x01e1, - 0x01e3, 0x01e3, - 0x01e5, 0x01e5, - 0x01e7, 0x01e7, - 0x01e9, 0x01e9, - 0x01eb, 0x01eb, - 0x01ed, 0x01ed, - 0x01ef, 0x01f0, - 0x01f3, 0x01f3, - 0x01f5, 0x01f5, - 0x01f9, 0x01f9, - 0x01fb, 0x01fb, - 0x01fd, 0x01fd, - 0x01ff, 0x01ff, - 0x0201, 0x0201, - 0x0203, 0x0203, - 0x0205, 0x0205, - 0x0207, 0x0207, - 0x0209, 0x0209, - 0x020b, 0x020b, - 0x020d, 0x020d, - 0x020f, 0x020f, - 0x0211, 0x0211, - 0x0213, 0x0213, - 0x0215, 0x0215, - 0x0217, 0x0217, - 0x0219, 0x0219, - 0x021b, 0x021b, - 0x021d, 0x021d, - 0x021f, 0x021f, - 0x0221, 0x0221, - 0x0223, 0x0223, - 0x0225, 0x0225, - 0x0227, 0x0227, - 0x0229, 0x0229, - 0x022b, 0x022b, - 0x022d, 0x022d, - 0x022f, 0x022f, - 0x0231, 0x0231, - 0x0233, 0x0239, - 0x023c, 0x023c, - 0x023f, 0x0240, - 0x0242, 0x0242, - 0x0247, 0x0247, - 0x0249, 0x0249, - 0x024b, 0x024b, - 0x024d, 0x024d, - 0x024f, 0x0293, - 0x0295, 0x02af, - 0x0371, 0x0371, - 0x0373, 0x0373, - 0x0377, 0x0377, - 0x037b, 0x037d, - 0x0390, 0x0390, - 0x03ac, 0x03ce, - 0x03d0, 0x03d1, - 0x03d5, 0x03d7, - 0x03d9, 0x03d9, - 0x03db, 0x03db, - 0x03dd, 0x03dd, - 0x03df, 0x03df, - 0x03e1, 0x03e1, - 0x03e3, 0x03e3, - 0x03e5, 0x03e5, - 0x03e7, 0x03e7, - 0x03e9, 0x03e9, - 0x03eb, 0x03eb, - 0x03ed, 0x03ed, - 0x03ef, 0x03f3, - 0x03f5, 0x03f5, - 0x03f8, 0x03f8, - 0x03fb, 0x03fc, - 0x0430, 0x045f, - 0x0461, 0x0461, - 0x0463, 0x0463, - 0x0465, 0x0465, - 0x0467, 0x0467, - 0x0469, 0x0469, - 0x046b, 0x046b, - 0x046d, 0x046d, - 0x046f, 0x046f, - 0x0471, 0x0471, - 0x0473, 0x0473, - 0x0475, 0x0475, - 0x0477, 0x0477, - 0x0479, 0x0479, - 0x047b, 0x047b, - 0x047d, 0x047d, - 0x047f, 0x047f, - 0x0481, 0x0481, - 0x048b, 0x048b, - 0x048d, 0x048d, - 0x048f, 0x048f, - 0x0491, 0x0491, - 0x0493, 0x0493, - 0x0495, 0x0495, - 0x0497, 0x0497, - 0x0499, 0x0499, - 0x049b, 0x049b, - 0x049d, 0x049d, - 0x049f, 0x049f, - 0x04a1, 0x04a1, - 0x04a3, 0x04a3, - 0x04a5, 0x04a5, - 0x04a7, 0x04a7, - 0x04a9, 0x04a9, - 0x04ab, 0x04ab, - 0x04ad, 0x04ad, - 0x04af, 0x04af, - 0x04b1, 0x04b1, - 0x04b3, 0x04b3, - 0x04b5, 0x04b5, - 0x04b7, 0x04b7, - 0x04b9, 0x04b9, - 0x04bb, 0x04bb, - 0x04bd, 0x04bd, - 0x04bf, 0x04bf, - 0x04c2, 0x04c2, - 0x04c4, 0x04c4, - 0x04c6, 0x04c6, - 0x04c8, 0x04c8, - 0x04ca, 0x04ca, - 0x04cc, 0x04cc, - 0x04ce, 0x04cf, - 0x04d1, 0x04d1, - 0x04d3, 0x04d3, - 0x04d5, 0x04d5, - 0x04d7, 0x04d7, - 0x04d9, 0x04d9, - 0x04db, 0x04db, - 0x04dd, 0x04dd, - 0x04df, 0x04df, - 0x04e1, 0x04e1, - 0x04e3, 0x04e3, - 0x04e5, 0x04e5, - 0x04e7, 0x04e7, - 0x04e9, 0x04e9, - 0x04eb, 0x04eb, - 0x04ed, 0x04ed, - 0x04ef, 0x04ef, - 0x04f1, 0x04f1, - 0x04f3, 0x04f3, - 0x04f5, 0x04f5, - 0x04f7, 0x04f7, - 0x04f9, 0x04f9, - 0x04fb, 0x04fb, - 0x04fd, 0x04fd, - 0x04ff, 0x04ff, - 0x0501, 0x0501, - 0x0503, 0x0503, - 0x0505, 0x0505, - 0x0507, 0x0507, - 0x0509, 0x0509, - 0x050b, 0x050b, - 0x050d, 0x050d, - 0x050f, 0x050f, - 0x0511, 0x0511, - 0x0513, 0x0513, - 0x0515, 0x0515, - 0x0517, 0x0517, - 0x0519, 0x0519, - 0x051b, 0x051b, - 0x051d, 0x051d, - 0x051f, 0x051f, - 0x0521, 0x0521, - 0x0523, 0x0523, - 0x0525, 0x0525, - 0x0561, 0x0587, - 0x1d00, 0x1d2b, - 0x1d62, 0x1d77, - 0x1d79, 0x1d9a, - 0x1e01, 0x1e01, - 0x1e03, 0x1e03, - 0x1e05, 0x1e05, - 0x1e07, 0x1e07, - 0x1e09, 0x1e09, - 0x1e0b, 0x1e0b, - 0x1e0d, 0x1e0d, - 0x1e0f, 0x1e0f, - 0x1e11, 0x1e11, - 0x1e13, 0x1e13, - 0x1e15, 0x1e15, - 0x1e17, 0x1e17, - 0x1e19, 0x1e19, - 0x1e1b, 0x1e1b, - 0x1e1d, 0x1e1d, - 0x1e1f, 0x1e1f, - 0x1e21, 0x1e21, - 0x1e23, 0x1e23, - 0x1e25, 0x1e25, - 0x1e27, 0x1e27, - 0x1e29, 0x1e29, - 0x1e2b, 0x1e2b, - 0x1e2d, 0x1e2d, - 0x1e2f, 0x1e2f, - 0x1e31, 0x1e31, - 0x1e33, 0x1e33, - 0x1e35, 0x1e35, - 0x1e37, 0x1e37, - 0x1e39, 0x1e39, - 0x1e3b, 0x1e3b, - 0x1e3d, 0x1e3d, - 0x1e3f, 0x1e3f, - 0x1e41, 0x1e41, - 0x1e43, 0x1e43, - 0x1e45, 0x1e45, - 0x1e47, 0x1e47, - 0x1e49, 0x1e49, - 0x1e4b, 0x1e4b, - 0x1e4d, 0x1e4d, - 0x1e4f, 0x1e4f, - 0x1e51, 0x1e51, - 0x1e53, 0x1e53, - 0x1e55, 0x1e55, - 0x1e57, 0x1e57, - 0x1e59, 0x1e59, - 0x1e5b, 0x1e5b, - 0x1e5d, 0x1e5d, - 0x1e5f, 0x1e5f, - 0x1e61, 0x1e61, - 0x1e63, 0x1e63, - 0x1e65, 0x1e65, - 0x1e67, 0x1e67, - 0x1e69, 0x1e69, - 0x1e6b, 0x1e6b, - 0x1e6d, 0x1e6d, - 0x1e6f, 0x1e6f, - 0x1e71, 0x1e71, - 0x1e73, 0x1e73, - 0x1e75, 0x1e75, - 0x1e77, 0x1e77, - 0x1e79, 0x1e79, - 0x1e7b, 0x1e7b, - 0x1e7d, 0x1e7d, - 0x1e7f, 0x1e7f, - 0x1e81, 0x1e81, - 0x1e83, 0x1e83, - 0x1e85, 0x1e85, - 0x1e87, 0x1e87, - 0x1e89, 0x1e89, - 0x1e8b, 0x1e8b, - 0x1e8d, 0x1e8d, - 0x1e8f, 0x1e8f, - 0x1e91, 0x1e91, - 0x1e93, 0x1e93, - 0x1e95, 0x1e9d, - 0x1e9f, 0x1e9f, - 0x1ea1, 0x1ea1, - 0x1ea3, 0x1ea3, - 0x1ea5, 0x1ea5, - 0x1ea7, 0x1ea7, - 0x1ea9, 0x1ea9, - 0x1eab, 0x1eab, - 0x1ead, 0x1ead, - 0x1eaf, 0x1eaf, - 0x1eb1, 0x1eb1, - 0x1eb3, 0x1eb3, - 0x1eb5, 0x1eb5, - 0x1eb7, 0x1eb7, - 0x1eb9, 0x1eb9, - 0x1ebb, 0x1ebb, - 0x1ebd, 0x1ebd, - 0x1ebf, 0x1ebf, - 0x1ec1, 0x1ec1, - 0x1ec3, 0x1ec3, - 0x1ec5, 0x1ec5, - 0x1ec7, 0x1ec7, - 0x1ec9, 0x1ec9, - 0x1ecb, 0x1ecb, - 0x1ecd, 0x1ecd, - 0x1ecf, 0x1ecf, - 0x1ed1, 0x1ed1, - 0x1ed3, 0x1ed3, - 0x1ed5, 0x1ed5, - 0x1ed7, 0x1ed7, - 0x1ed9, 0x1ed9, - 0x1edb, 0x1edb, - 0x1edd, 0x1edd, - 0x1edf, 0x1edf, - 0x1ee1, 0x1ee1, - 0x1ee3, 0x1ee3, - 0x1ee5, 0x1ee5, - 0x1ee7, 0x1ee7, - 0x1ee9, 0x1ee9, - 0x1eeb, 0x1eeb, - 0x1eed, 0x1eed, - 0x1eef, 0x1eef, - 0x1ef1, 0x1ef1, - 0x1ef3, 0x1ef3, - 0x1ef5, 0x1ef5, - 0x1ef7, 0x1ef7, - 0x1ef9, 0x1ef9, - 0x1efb, 0x1efb, - 0x1efd, 0x1efd, - 0x1eff, 0x1f07, - 0x1f10, 0x1f15, - 0x1f20, 0x1f27, - 0x1f30, 0x1f37, - 0x1f40, 0x1f45, - 0x1f50, 0x1f57, - 0x1f60, 0x1f67, - 0x1f70, 0x1f7d, - 0x1f80, 0x1f87, - 0x1f90, 0x1f97, - 0x1fa0, 0x1fa7, - 0x1fb0, 0x1fb4, - 0x1fb6, 0x1fb7, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fc7, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fd7, - 0x1fe0, 0x1fe7, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ff7, - 0x210a, 0x210a, - 0x210e, 0x210f, - 0x2113, 0x2113, - 0x212f, 0x212f, - 0x2134, 0x2134, - 0x2139, 0x2139, - 0x213c, 0x213d, - 0x2146, 0x2149, - 0x214e, 0x214e, - 0x2184, 0x2184, - 0x2c30, 0x2c5e, - 0x2c61, 0x2c61, - 0x2c65, 0x2c66, - 0x2c68, 0x2c68, - 0x2c6a, 0x2c6a, - 0x2c6c, 0x2c6c, - 0x2c71, 0x2c71, - 0x2c73, 0x2c74, - 0x2c76, 0x2c7c, - 0x2c81, 0x2c81, - 0x2c83, 0x2c83, - 0x2c85, 0x2c85, - 0x2c87, 0x2c87, - 0x2c89, 0x2c89, - 0x2c8b, 0x2c8b, - 0x2c8d, 0x2c8d, - 0x2c8f, 0x2c8f, - 0x2c91, 0x2c91, - 0x2c93, 0x2c93, - 0x2c95, 0x2c95, - 0x2c97, 0x2c97, - 0x2c99, 0x2c99, - 0x2c9b, 0x2c9b, - 0x2c9d, 0x2c9d, - 0x2c9f, 0x2c9f, - 0x2ca1, 0x2ca1, - 0x2ca3, 0x2ca3, - 0x2ca5, 0x2ca5, - 0x2ca7, 0x2ca7, - 0x2ca9, 0x2ca9, - 0x2cab, 0x2cab, - 0x2cad, 0x2cad, - 0x2caf, 0x2caf, - 0x2cb1, 0x2cb1, - 0x2cb3, 0x2cb3, - 0x2cb5, 0x2cb5, - 0x2cb7, 0x2cb7, - 0x2cb9, 0x2cb9, - 0x2cbb, 0x2cbb, - 0x2cbd, 0x2cbd, - 0x2cbf, 0x2cbf, - 0x2cc1, 0x2cc1, - 0x2cc3, 0x2cc3, - 0x2cc5, 0x2cc5, - 0x2cc7, 0x2cc7, - 0x2cc9, 0x2cc9, - 0x2ccb, 0x2ccb, - 0x2ccd, 0x2ccd, - 0x2ccf, 0x2ccf, - 0x2cd1, 0x2cd1, - 0x2cd3, 0x2cd3, - 0x2cd5, 0x2cd5, - 0x2cd7, 0x2cd7, - 0x2cd9, 0x2cd9, - 0x2cdb, 0x2cdb, - 0x2cdd, 0x2cdd, - 0x2cdf, 0x2cdf, - 0x2ce1, 0x2ce1, - 0x2ce3, 0x2ce4, - 0x2cec, 0x2cec, - 0x2cee, 0x2cee, - 0x2d00, 0x2d25, - 0xa641, 0xa641, - 0xa643, 0xa643, - 0xa645, 0xa645, - 0xa647, 0xa647, - 0xa649, 0xa649, - 0xa64b, 0xa64b, - 0xa64d, 0xa64d, - 0xa64f, 0xa64f, - 0xa651, 0xa651, - 0xa653, 0xa653, - 0xa655, 0xa655, - 0xa657, 0xa657, - 0xa659, 0xa659, - 0xa65b, 0xa65b, - 0xa65d, 0xa65d, - 0xa65f, 0xa65f, - 0xa663, 0xa663, - 0xa665, 0xa665, - 0xa667, 0xa667, - 0xa669, 0xa669, - 0xa66b, 0xa66b, - 0xa66d, 0xa66d, - 0xa681, 0xa681, - 0xa683, 0xa683, - 0xa685, 0xa685, - 0xa687, 0xa687, - 0xa689, 0xa689, - 0xa68b, 0xa68b, - 0xa68d, 0xa68d, - 0xa68f, 0xa68f, - 0xa691, 0xa691, - 0xa693, 0xa693, - 0xa695, 0xa695, - 0xa697, 0xa697, - 0xa723, 0xa723, - 0xa725, 0xa725, - 0xa727, 0xa727, - 0xa729, 0xa729, - 0xa72b, 0xa72b, - 0xa72d, 0xa72d, - 0xa72f, 0xa731, - 0xa733, 0xa733, - 0xa735, 0xa735, - 0xa737, 0xa737, - 0xa739, 0xa739, - 0xa73b, 0xa73b, - 0xa73d, 0xa73d, - 0xa73f, 0xa73f, - 0xa741, 0xa741, - 0xa743, 0xa743, - 0xa745, 0xa745, - 0xa747, 0xa747, - 0xa749, 0xa749, - 0xa74b, 0xa74b, - 0xa74d, 0xa74d, - 0xa74f, 0xa74f, - 0xa751, 0xa751, - 0xa753, 0xa753, - 0xa755, 0xa755, - 0xa757, 0xa757, - 0xa759, 0xa759, - 0xa75b, 0xa75b, - 0xa75d, 0xa75d, - 0xa75f, 0xa75f, - 0xa761, 0xa761, - 0xa763, 0xa763, - 0xa765, 0xa765, - 0xa767, 0xa767, - 0xa769, 0xa769, - 0xa76b, 0xa76b, - 0xa76d, 0xa76d, - 0xa76f, 0xa76f, - 0xa771, 0xa778, - 0xa77a, 0xa77a, - 0xa77c, 0xa77c, - 0xa77f, 0xa77f, - 0xa781, 0xa781, - 0xa783, 0xa783, - 0xa785, 0xa785, - 0xa787, 0xa787, - 0xa78c, 0xa78c, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff41, 0xff5a, - 0x10428, 0x1044f, - 0x1d41a, 0x1d433, - 0x1d44e, 0x1d454, - 0x1d456, 0x1d467, - 0x1d482, 0x1d49b, - 0x1d4b6, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d4cf, - 0x1d4ea, 0x1d503, - 0x1d51e, 0x1d537, - 0x1d552, 0x1d56b, - 0x1d586, 0x1d59f, - 0x1d5ba, 0x1d5d3, - 0x1d5ee, 0x1d607, - 0x1d622, 0x1d63b, - 0x1d656, 0x1d66f, - 0x1d68a, 0x1d6a5, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6e1, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d71b, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d755, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d78f, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7c9, - 0x1d7cb, 0x1d7cb, -}; /* CR_Ll */ - -/* 'Lm': General Category */ -static const OnigCodePoint CR_Lm[] = { - 49, - 0x02b0, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0374, 0x0374, - 0x037a, 0x037a, - 0x0559, 0x0559, - 0x0640, 0x0640, - 0x06e5, 0x06e6, - 0x07f4, 0x07f5, - 0x07fa, 0x07fa, - 0x081a, 0x081a, - 0x0824, 0x0824, - 0x0828, 0x0828, - 0x0971, 0x0971, - 0x0e46, 0x0e46, - 0x0ec6, 0x0ec6, - 0x10fc, 0x10fc, - 0x17d7, 0x17d7, - 0x1843, 0x1843, - 0x1aa7, 0x1aa7, - 0x1c78, 0x1c7d, - 0x1d2c, 0x1d61, - 0x1d78, 0x1d78, - 0x1d9b, 0x1dbf, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x2094, - 0x2c7d, 0x2c7d, - 0x2d6f, 0x2d6f, - 0x2e2f, 0x2e2f, - 0x3005, 0x3005, - 0x3031, 0x3035, - 0x303b, 0x303b, - 0x309d, 0x309e, - 0x30fc, 0x30fe, - 0xa015, 0xa015, - 0xa4f8, 0xa4fd, - 0xa60c, 0xa60c, - 0xa67f, 0xa67f, - 0xa717, 0xa71f, - 0xa770, 0xa770, - 0xa788, 0xa788, - 0xa9cf, 0xa9cf, - 0xaa70, 0xaa70, - 0xaadd, 0xaadd, - 0xff70, 0xff70, - 0xff9e, 0xff9f, -}; /* CR_Lm */ - -/* 'Lo': General Category */ -static const OnigCodePoint CR_Lo[] = { - 311, - 0x01bb, 0x01bb, - 0x01c0, 0x01c3, - 0x0294, 0x0294, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0621, 0x063f, - 0x0641, 0x064a, - 0x066e, 0x066f, - 0x0671, 0x06d3, - 0x06d5, 0x06d5, - 0x06ee, 0x06ef, - 0x06fa, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x0710, - 0x0712, 0x072f, - 0x074d, 0x07a5, - 0x07b1, 0x07b1, - 0x07ca, 0x07ea, - 0x0800, 0x0815, - 0x0904, 0x0939, - 0x093d, 0x093d, - 0x0950, 0x0950, - 0x0958, 0x0961, - 0x0972, 0x0972, - 0x0979, 0x097f, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bd, 0x09bd, - 0x09ce, 0x09ce, - 0x09dc, 0x09dd, - 0x09df, 0x09e1, - 0x09f0, 0x09f1, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a72, 0x0a74, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abd, 0x0abd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae1, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3d, 0x0b3d, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, - 0x0b71, 0x0b71, - 0x0b83, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bd0, 0x0bd0, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c3d, - 0x0c58, 0x0c59, - 0x0c60, 0x0c61, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cbd, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d3d, - 0x0d60, 0x0d61, - 0x0d7a, 0x0d7f, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0e01, 0x0e30, - 0x0e32, 0x0e33, - 0x0e40, 0x0e45, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb0, - 0x0eb2, 0x0eb3, - 0x0ebd, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f40, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f88, 0x0f8b, - 0x1000, 0x102a, - 0x103f, 0x103f, - 0x1050, 0x1055, - 0x105a, 0x105d, - 0x1061, 0x1061, - 0x1065, 0x1066, - 0x106e, 0x1070, - 0x1075, 0x1081, - 0x108e, 0x108e, - 0x10d0, 0x10fa, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x1700, 0x170c, - 0x170e, 0x1711, - 0x1720, 0x1731, - 0x1740, 0x1751, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1780, 0x17b3, - 0x17dc, 0x17dc, - 0x1820, 0x1842, - 0x1844, 0x1877, - 0x1880, 0x18a8, - 0x18aa, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1950, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19c1, 0x19c7, - 0x1a00, 0x1a16, - 0x1a20, 0x1a54, - 0x1b05, 0x1b33, - 0x1b45, 0x1b4b, - 0x1b83, 0x1ba0, - 0x1bae, 0x1baf, - 0x1c00, 0x1c23, - 0x1c4d, 0x1c4f, - 0x1c5a, 0x1c77, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf1, - 0x2135, 0x2138, - 0x2d30, 0x2d65, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x3006, 0x3006, - 0x303c, 0x303c, - 0x3041, 0x3096, - 0x309f, 0x309f, - 0x30a1, 0x30fa, - 0x30ff, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31b7, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa014, - 0xa016, 0xa48c, - 0xa4d0, 0xa4f7, - 0xa500, 0xa60b, - 0xa610, 0xa61f, - 0xa62a, 0xa62b, - 0xa66e, 0xa66e, - 0xa6a0, 0xa6e5, - 0xa7fb, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa822, - 0xa840, 0xa873, - 0xa882, 0xa8b3, - 0xa8f2, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa90a, 0xa925, - 0xa930, 0xa946, - 0xa960, 0xa97c, - 0xa984, 0xa9b2, - 0xaa00, 0xaa28, - 0xaa40, 0xaa42, - 0xaa44, 0xaa4b, - 0xaa60, 0xaa6f, - 0xaa71, 0xaa76, - 0xaa7a, 0xaa7a, - 0xaa80, 0xaaaf, - 0xaab1, 0xaab1, - 0xaab5, 0xaab6, - 0xaab9, 0xaabd, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadc, - 0xabc0, 0xabe2, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb1d, 0xfb1d, - 0xfb1f, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff66, 0xff6f, - 0xff71, 0xff9d, - 0xffa0, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x10340, - 0x10342, 0x10349, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x10450, 0x1049d, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a00, - 0x10a10, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11083, 0x110af, - 0x12000, 0x1236e, - 0x13000, 0x1342e, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, -}; /* CR_Lo */ - -/* 'Lt': General Category */ -static const OnigCodePoint CR_Lt[] = { - 10, - 0x01c5, 0x01c5, - 0x01c8, 0x01c8, - 0x01cb, 0x01cb, - 0x01f2, 0x01f2, - 0x1f88, 0x1f8f, - 0x1f98, 0x1f9f, - 0x1fa8, 0x1faf, - 0x1fbc, 0x1fbc, - 0x1fcc, 0x1fcc, - 0x1ffc, 0x1ffc, -}; /* CR_Lt */ - -/* 'Lu': General Category */ -static const OnigCodePoint CR_Lu[] = { - 594, - 0x0041, 0x005a, - 0x00c0, 0x00d6, - 0x00d8, 0x00de, - 0x0100, 0x0100, - 0x0102, 0x0102, - 0x0104, 0x0104, - 0x0106, 0x0106, - 0x0108, 0x0108, - 0x010a, 0x010a, - 0x010c, 0x010c, - 0x010e, 0x010e, - 0x0110, 0x0110, - 0x0112, 0x0112, - 0x0114, 0x0114, - 0x0116, 0x0116, - 0x0118, 0x0118, - 0x011a, 0x011a, - 0x011c, 0x011c, - 0x011e, 0x011e, - 0x0120, 0x0120, - 0x0122, 0x0122, - 0x0124, 0x0124, - 0x0126, 0x0126, - 0x0128, 0x0128, - 0x012a, 0x012a, - 0x012c, 0x012c, - 0x012e, 0x012e, - 0x0130, 0x0130, - 0x0132, 0x0132, - 0x0134, 0x0134, - 0x0136, 0x0136, - 0x0139, 0x0139, - 0x013b, 0x013b, - 0x013d, 0x013d, - 0x013f, 0x013f, - 0x0141, 0x0141, - 0x0143, 0x0143, - 0x0145, 0x0145, - 0x0147, 0x0147, - 0x014a, 0x014a, - 0x014c, 0x014c, - 0x014e, 0x014e, - 0x0150, 0x0150, - 0x0152, 0x0152, - 0x0154, 0x0154, - 0x0156, 0x0156, - 0x0158, 0x0158, - 0x015a, 0x015a, - 0x015c, 0x015c, - 0x015e, 0x015e, - 0x0160, 0x0160, - 0x0162, 0x0162, - 0x0164, 0x0164, - 0x0166, 0x0166, - 0x0168, 0x0168, - 0x016a, 0x016a, - 0x016c, 0x016c, - 0x016e, 0x016e, - 0x0170, 0x0170, - 0x0172, 0x0172, - 0x0174, 0x0174, - 0x0176, 0x0176, - 0x0178, 0x0179, - 0x017b, 0x017b, - 0x017d, 0x017d, - 0x0181, 0x0182, - 0x0184, 0x0184, - 0x0186, 0x0187, - 0x0189, 0x018b, - 0x018e, 0x0191, - 0x0193, 0x0194, - 0x0196, 0x0198, - 0x019c, 0x019d, - 0x019f, 0x01a0, - 0x01a2, 0x01a2, - 0x01a4, 0x01a4, - 0x01a6, 0x01a7, - 0x01a9, 0x01a9, - 0x01ac, 0x01ac, - 0x01ae, 0x01af, - 0x01b1, 0x01b3, - 0x01b5, 0x01b5, - 0x01b7, 0x01b8, - 0x01bc, 0x01bc, - 0x01c4, 0x01c4, - 0x01c7, 0x01c7, - 0x01ca, 0x01ca, - 0x01cd, 0x01cd, - 0x01cf, 0x01cf, - 0x01d1, 0x01d1, - 0x01d3, 0x01d3, - 0x01d5, 0x01d5, - 0x01d7, 0x01d7, - 0x01d9, 0x01d9, - 0x01db, 0x01db, - 0x01de, 0x01de, - 0x01e0, 0x01e0, - 0x01e2, 0x01e2, - 0x01e4, 0x01e4, - 0x01e6, 0x01e6, - 0x01e8, 0x01e8, - 0x01ea, 0x01ea, - 0x01ec, 0x01ec, - 0x01ee, 0x01ee, - 0x01f1, 0x01f1, - 0x01f4, 0x01f4, - 0x01f6, 0x01f8, - 0x01fa, 0x01fa, - 0x01fc, 0x01fc, - 0x01fe, 0x01fe, - 0x0200, 0x0200, - 0x0202, 0x0202, - 0x0204, 0x0204, - 0x0206, 0x0206, - 0x0208, 0x0208, - 0x020a, 0x020a, - 0x020c, 0x020c, - 0x020e, 0x020e, - 0x0210, 0x0210, - 0x0212, 0x0212, - 0x0214, 0x0214, - 0x0216, 0x0216, - 0x0218, 0x0218, - 0x021a, 0x021a, - 0x021c, 0x021c, - 0x021e, 0x021e, - 0x0220, 0x0220, - 0x0222, 0x0222, - 0x0224, 0x0224, - 0x0226, 0x0226, - 0x0228, 0x0228, - 0x022a, 0x022a, - 0x022c, 0x022c, - 0x022e, 0x022e, - 0x0230, 0x0230, - 0x0232, 0x0232, - 0x023a, 0x023b, - 0x023d, 0x023e, - 0x0241, 0x0241, - 0x0243, 0x0246, - 0x0248, 0x0248, - 0x024a, 0x024a, - 0x024c, 0x024c, - 0x024e, 0x024e, - 0x0370, 0x0370, - 0x0372, 0x0372, - 0x0376, 0x0376, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x038f, - 0x0391, 0x03a1, - 0x03a3, 0x03ab, - 0x03cf, 0x03cf, - 0x03d2, 0x03d4, - 0x03d8, 0x03d8, - 0x03da, 0x03da, - 0x03dc, 0x03dc, - 0x03de, 0x03de, - 0x03e0, 0x03e0, - 0x03e2, 0x03e2, - 0x03e4, 0x03e4, - 0x03e6, 0x03e6, - 0x03e8, 0x03e8, - 0x03ea, 0x03ea, - 0x03ec, 0x03ec, - 0x03ee, 0x03ee, - 0x03f4, 0x03f4, - 0x03f7, 0x03f7, - 0x03f9, 0x03fa, - 0x03fd, 0x042f, - 0x0460, 0x0460, - 0x0462, 0x0462, - 0x0464, 0x0464, - 0x0466, 0x0466, - 0x0468, 0x0468, - 0x046a, 0x046a, - 0x046c, 0x046c, - 0x046e, 0x046e, - 0x0470, 0x0470, - 0x0472, 0x0472, - 0x0474, 0x0474, - 0x0476, 0x0476, - 0x0478, 0x0478, - 0x047a, 0x047a, - 0x047c, 0x047c, - 0x047e, 0x047e, - 0x0480, 0x0480, - 0x048a, 0x048a, - 0x048c, 0x048c, - 0x048e, 0x048e, - 0x0490, 0x0490, - 0x0492, 0x0492, - 0x0494, 0x0494, - 0x0496, 0x0496, - 0x0498, 0x0498, - 0x049a, 0x049a, - 0x049c, 0x049c, - 0x049e, 0x049e, - 0x04a0, 0x04a0, - 0x04a2, 0x04a2, - 0x04a4, 0x04a4, - 0x04a6, 0x04a6, - 0x04a8, 0x04a8, - 0x04aa, 0x04aa, - 0x04ac, 0x04ac, - 0x04ae, 0x04ae, - 0x04b0, 0x04b0, - 0x04b2, 0x04b2, - 0x04b4, 0x04b4, - 0x04b6, 0x04b6, - 0x04b8, 0x04b8, - 0x04ba, 0x04ba, - 0x04bc, 0x04bc, - 0x04be, 0x04be, - 0x04c0, 0x04c1, - 0x04c3, 0x04c3, - 0x04c5, 0x04c5, - 0x04c7, 0x04c7, - 0x04c9, 0x04c9, - 0x04cb, 0x04cb, - 0x04cd, 0x04cd, - 0x04d0, 0x04d0, - 0x04d2, 0x04d2, - 0x04d4, 0x04d4, - 0x04d6, 0x04d6, - 0x04d8, 0x04d8, - 0x04da, 0x04da, - 0x04dc, 0x04dc, - 0x04de, 0x04de, - 0x04e0, 0x04e0, - 0x04e2, 0x04e2, - 0x04e4, 0x04e4, - 0x04e6, 0x04e6, - 0x04e8, 0x04e8, - 0x04ea, 0x04ea, - 0x04ec, 0x04ec, - 0x04ee, 0x04ee, - 0x04f0, 0x04f0, - 0x04f2, 0x04f2, - 0x04f4, 0x04f4, - 0x04f6, 0x04f6, - 0x04f8, 0x04f8, - 0x04fa, 0x04fa, - 0x04fc, 0x04fc, - 0x04fe, 0x04fe, - 0x0500, 0x0500, - 0x0502, 0x0502, - 0x0504, 0x0504, - 0x0506, 0x0506, - 0x0508, 0x0508, - 0x050a, 0x050a, - 0x050c, 0x050c, - 0x050e, 0x050e, - 0x0510, 0x0510, - 0x0512, 0x0512, - 0x0514, 0x0514, - 0x0516, 0x0516, - 0x0518, 0x0518, - 0x051a, 0x051a, - 0x051c, 0x051c, - 0x051e, 0x051e, - 0x0520, 0x0520, - 0x0522, 0x0522, - 0x0524, 0x0524, - 0x0531, 0x0556, - 0x10a0, 0x10c5, - 0x1e00, 0x1e00, - 0x1e02, 0x1e02, - 0x1e04, 0x1e04, - 0x1e06, 0x1e06, - 0x1e08, 0x1e08, - 0x1e0a, 0x1e0a, - 0x1e0c, 0x1e0c, - 0x1e0e, 0x1e0e, - 0x1e10, 0x1e10, - 0x1e12, 0x1e12, - 0x1e14, 0x1e14, - 0x1e16, 0x1e16, - 0x1e18, 0x1e18, - 0x1e1a, 0x1e1a, - 0x1e1c, 0x1e1c, - 0x1e1e, 0x1e1e, - 0x1e20, 0x1e20, - 0x1e22, 0x1e22, - 0x1e24, 0x1e24, - 0x1e26, 0x1e26, - 0x1e28, 0x1e28, - 0x1e2a, 0x1e2a, - 0x1e2c, 0x1e2c, - 0x1e2e, 0x1e2e, - 0x1e30, 0x1e30, - 0x1e32, 0x1e32, - 0x1e34, 0x1e34, - 0x1e36, 0x1e36, - 0x1e38, 0x1e38, - 0x1e3a, 0x1e3a, - 0x1e3c, 0x1e3c, - 0x1e3e, 0x1e3e, - 0x1e40, 0x1e40, - 0x1e42, 0x1e42, - 0x1e44, 0x1e44, - 0x1e46, 0x1e46, - 0x1e48, 0x1e48, - 0x1e4a, 0x1e4a, - 0x1e4c, 0x1e4c, - 0x1e4e, 0x1e4e, - 0x1e50, 0x1e50, - 0x1e52, 0x1e52, - 0x1e54, 0x1e54, - 0x1e56, 0x1e56, - 0x1e58, 0x1e58, - 0x1e5a, 0x1e5a, - 0x1e5c, 0x1e5c, - 0x1e5e, 0x1e5e, - 0x1e60, 0x1e60, - 0x1e62, 0x1e62, - 0x1e64, 0x1e64, - 0x1e66, 0x1e66, - 0x1e68, 0x1e68, - 0x1e6a, 0x1e6a, - 0x1e6c, 0x1e6c, - 0x1e6e, 0x1e6e, - 0x1e70, 0x1e70, - 0x1e72, 0x1e72, - 0x1e74, 0x1e74, - 0x1e76, 0x1e76, - 0x1e78, 0x1e78, - 0x1e7a, 0x1e7a, - 0x1e7c, 0x1e7c, - 0x1e7e, 0x1e7e, - 0x1e80, 0x1e80, - 0x1e82, 0x1e82, - 0x1e84, 0x1e84, - 0x1e86, 0x1e86, - 0x1e88, 0x1e88, - 0x1e8a, 0x1e8a, - 0x1e8c, 0x1e8c, - 0x1e8e, 0x1e8e, - 0x1e90, 0x1e90, - 0x1e92, 0x1e92, - 0x1e94, 0x1e94, - 0x1e9e, 0x1e9e, - 0x1ea0, 0x1ea0, - 0x1ea2, 0x1ea2, - 0x1ea4, 0x1ea4, - 0x1ea6, 0x1ea6, - 0x1ea8, 0x1ea8, - 0x1eaa, 0x1eaa, - 0x1eac, 0x1eac, - 0x1eae, 0x1eae, - 0x1eb0, 0x1eb0, - 0x1eb2, 0x1eb2, - 0x1eb4, 0x1eb4, - 0x1eb6, 0x1eb6, - 0x1eb8, 0x1eb8, - 0x1eba, 0x1eba, - 0x1ebc, 0x1ebc, - 0x1ebe, 0x1ebe, - 0x1ec0, 0x1ec0, - 0x1ec2, 0x1ec2, - 0x1ec4, 0x1ec4, - 0x1ec6, 0x1ec6, - 0x1ec8, 0x1ec8, - 0x1eca, 0x1eca, - 0x1ecc, 0x1ecc, - 0x1ece, 0x1ece, - 0x1ed0, 0x1ed0, - 0x1ed2, 0x1ed2, - 0x1ed4, 0x1ed4, - 0x1ed6, 0x1ed6, - 0x1ed8, 0x1ed8, - 0x1eda, 0x1eda, - 0x1edc, 0x1edc, - 0x1ede, 0x1ede, - 0x1ee0, 0x1ee0, - 0x1ee2, 0x1ee2, - 0x1ee4, 0x1ee4, - 0x1ee6, 0x1ee6, - 0x1ee8, 0x1ee8, - 0x1eea, 0x1eea, - 0x1eec, 0x1eec, - 0x1eee, 0x1eee, - 0x1ef0, 0x1ef0, - 0x1ef2, 0x1ef2, - 0x1ef4, 0x1ef4, - 0x1ef6, 0x1ef6, - 0x1ef8, 0x1ef8, - 0x1efa, 0x1efa, - 0x1efc, 0x1efc, - 0x1efe, 0x1efe, - 0x1f08, 0x1f0f, - 0x1f18, 0x1f1d, - 0x1f28, 0x1f2f, - 0x1f38, 0x1f3f, - 0x1f48, 0x1f4d, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f5f, - 0x1f68, 0x1f6f, - 0x1fb8, 0x1fbb, - 0x1fc8, 0x1fcb, - 0x1fd8, 0x1fdb, - 0x1fe8, 0x1fec, - 0x1ff8, 0x1ffb, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210b, 0x210d, - 0x2110, 0x2112, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x2130, 0x2133, - 0x213e, 0x213f, - 0x2145, 0x2145, - 0x2183, 0x2183, - 0x2c00, 0x2c2e, - 0x2c60, 0x2c60, - 0x2c62, 0x2c64, - 0x2c67, 0x2c67, - 0x2c69, 0x2c69, - 0x2c6b, 0x2c6b, - 0x2c6d, 0x2c70, - 0x2c72, 0x2c72, - 0x2c75, 0x2c75, - 0x2c7e, 0x2c80, - 0x2c82, 0x2c82, - 0x2c84, 0x2c84, - 0x2c86, 0x2c86, - 0x2c88, 0x2c88, - 0x2c8a, 0x2c8a, - 0x2c8c, 0x2c8c, - 0x2c8e, 0x2c8e, - 0x2c90, 0x2c90, - 0x2c92, 0x2c92, - 0x2c94, 0x2c94, - 0x2c96, 0x2c96, - 0x2c98, 0x2c98, - 0x2c9a, 0x2c9a, - 0x2c9c, 0x2c9c, - 0x2c9e, 0x2c9e, - 0x2ca0, 0x2ca0, - 0x2ca2, 0x2ca2, - 0x2ca4, 0x2ca4, - 0x2ca6, 0x2ca6, - 0x2ca8, 0x2ca8, - 0x2caa, 0x2caa, - 0x2cac, 0x2cac, - 0x2cae, 0x2cae, - 0x2cb0, 0x2cb0, - 0x2cb2, 0x2cb2, - 0x2cb4, 0x2cb4, - 0x2cb6, 0x2cb6, - 0x2cb8, 0x2cb8, - 0x2cba, 0x2cba, - 0x2cbc, 0x2cbc, - 0x2cbe, 0x2cbe, - 0x2cc0, 0x2cc0, - 0x2cc2, 0x2cc2, - 0x2cc4, 0x2cc4, - 0x2cc6, 0x2cc6, - 0x2cc8, 0x2cc8, - 0x2cca, 0x2cca, - 0x2ccc, 0x2ccc, - 0x2cce, 0x2cce, - 0x2cd0, 0x2cd0, - 0x2cd2, 0x2cd2, - 0x2cd4, 0x2cd4, - 0x2cd6, 0x2cd6, - 0x2cd8, 0x2cd8, - 0x2cda, 0x2cda, - 0x2cdc, 0x2cdc, - 0x2cde, 0x2cde, - 0x2ce0, 0x2ce0, - 0x2ce2, 0x2ce2, - 0x2ceb, 0x2ceb, - 0x2ced, 0x2ced, - 0xa640, 0xa640, - 0xa642, 0xa642, - 0xa644, 0xa644, - 0xa646, 0xa646, - 0xa648, 0xa648, - 0xa64a, 0xa64a, - 0xa64c, 0xa64c, - 0xa64e, 0xa64e, - 0xa650, 0xa650, - 0xa652, 0xa652, - 0xa654, 0xa654, - 0xa656, 0xa656, - 0xa658, 0xa658, - 0xa65a, 0xa65a, - 0xa65c, 0xa65c, - 0xa65e, 0xa65e, - 0xa662, 0xa662, - 0xa664, 0xa664, - 0xa666, 0xa666, - 0xa668, 0xa668, - 0xa66a, 0xa66a, - 0xa66c, 0xa66c, - 0xa680, 0xa680, - 0xa682, 0xa682, - 0xa684, 0xa684, - 0xa686, 0xa686, - 0xa688, 0xa688, - 0xa68a, 0xa68a, - 0xa68c, 0xa68c, - 0xa68e, 0xa68e, - 0xa690, 0xa690, - 0xa692, 0xa692, - 0xa694, 0xa694, - 0xa696, 0xa696, - 0xa722, 0xa722, - 0xa724, 0xa724, - 0xa726, 0xa726, - 0xa728, 0xa728, - 0xa72a, 0xa72a, - 0xa72c, 0xa72c, - 0xa72e, 0xa72e, - 0xa732, 0xa732, - 0xa734, 0xa734, - 0xa736, 0xa736, - 0xa738, 0xa738, - 0xa73a, 0xa73a, - 0xa73c, 0xa73c, - 0xa73e, 0xa73e, - 0xa740, 0xa740, - 0xa742, 0xa742, - 0xa744, 0xa744, - 0xa746, 0xa746, - 0xa748, 0xa748, - 0xa74a, 0xa74a, - 0xa74c, 0xa74c, - 0xa74e, 0xa74e, - 0xa750, 0xa750, - 0xa752, 0xa752, - 0xa754, 0xa754, - 0xa756, 0xa756, - 0xa758, 0xa758, - 0xa75a, 0xa75a, - 0xa75c, 0xa75c, - 0xa75e, 0xa75e, - 0xa760, 0xa760, - 0xa762, 0xa762, - 0xa764, 0xa764, - 0xa766, 0xa766, - 0xa768, 0xa768, - 0xa76a, 0xa76a, - 0xa76c, 0xa76c, - 0xa76e, 0xa76e, - 0xa779, 0xa779, - 0xa77b, 0xa77b, - 0xa77d, 0xa77e, - 0xa780, 0xa780, - 0xa782, 0xa782, - 0xa784, 0xa784, - 0xa786, 0xa786, - 0xa78b, 0xa78b, - 0xff21, 0xff3a, - 0x10400, 0x10427, - 0x1d400, 0x1d419, - 0x1d434, 0x1d44d, - 0x1d468, 0x1d481, - 0x1d49c, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b5, - 0x1d4d0, 0x1d4e9, - 0x1d504, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d538, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d56c, 0x1d585, - 0x1d5a0, 0x1d5b9, - 0x1d5d4, 0x1d5ed, - 0x1d608, 0x1d621, - 0x1d63c, 0x1d655, - 0x1d670, 0x1d689, - 0x1d6a8, 0x1d6c0, - 0x1d6e2, 0x1d6fa, - 0x1d71c, 0x1d734, - 0x1d756, 0x1d76e, - 0x1d790, 0x1d7a8, - 0x1d7ca, 0x1d7ca, -}; /* CR_Lu */ - -/* 'M': Major Category */ -static const OnigCodePoint CR_M[] = { - 188, - 0x0300, 0x036f, - 0x0483, 0x0489, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x0610, 0x061a, - 0x064b, 0x065e, - 0x0670, 0x0670, - 0x06d6, 0x06dc, - 0x06de, 0x06e4, - 0x06e7, 0x06e8, - 0x06ea, 0x06ed, - 0x0711, 0x0711, - 0x0730, 0x074a, - 0x07a6, 0x07b0, - 0x07eb, 0x07f3, - 0x0816, 0x0819, - 0x081b, 0x0823, - 0x0825, 0x0827, - 0x0829, 0x082d, - 0x0900, 0x0903, - 0x093c, 0x093c, - 0x093e, 0x094e, - 0x0951, 0x0955, - 0x0962, 0x0963, - 0x0981, 0x0983, - 0x09bc, 0x09bc, - 0x09be, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09cd, - 0x09d7, 0x09d7, - 0x09e2, 0x09e3, - 0x0a01, 0x0a03, - 0x0a3c, 0x0a3c, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a70, 0x0a71, - 0x0a75, 0x0a75, - 0x0a81, 0x0a83, - 0x0abc, 0x0abc, - 0x0abe, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ae2, 0x0ae3, - 0x0b01, 0x0b03, - 0x0b3c, 0x0b3c, - 0x0b3e, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b62, 0x0b63, - 0x0b82, 0x0b82, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, - 0x0bd7, 0x0bd7, - 0x0c01, 0x0c03, - 0x0c3e, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c62, 0x0c63, - 0x0c82, 0x0c83, - 0x0cbc, 0x0cbc, - 0x0cbe, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0ce2, 0x0ce3, - 0x0d02, 0x0d03, - 0x0d3e, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4d, - 0x0d57, 0x0d57, - 0x0d62, 0x0d63, - 0x0d82, 0x0d83, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0e31, 0x0e31, - 0x0e34, 0x0e3a, - 0x0e47, 0x0e4e, - 0x0eb1, 0x0eb1, - 0x0eb4, 0x0eb9, - 0x0ebb, 0x0ebc, - 0x0ec8, 0x0ecd, - 0x0f18, 0x0f19, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f3e, 0x0f3f, - 0x0f71, 0x0f84, - 0x0f86, 0x0f87, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x102b, 0x103e, - 0x1056, 0x1059, - 0x105e, 0x1060, - 0x1062, 0x1064, - 0x1067, 0x106d, - 0x1071, 0x1074, - 0x1082, 0x108d, - 0x108f, 0x108f, - 0x109a, 0x109d, - 0x135f, 0x135f, - 0x1712, 0x1714, - 0x1732, 0x1734, - 0x1752, 0x1753, - 0x1772, 0x1773, - 0x17b6, 0x17d3, - 0x17dd, 0x17dd, - 0x180b, 0x180d, - 0x18a9, 0x18a9, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x19b0, 0x19c0, - 0x19c8, 0x19c9, - 0x1a17, 0x1a1b, - 0x1a55, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a7f, - 0x1b00, 0x1b04, - 0x1b34, 0x1b44, - 0x1b6b, 0x1b73, - 0x1b80, 0x1b82, - 0x1ba1, 0x1baa, - 0x1c24, 0x1c37, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1ce8, - 0x1ced, 0x1ced, - 0x1cf2, 0x1cf2, - 0x1dc0, 0x1de6, - 0x1dfd, 0x1dff, - 0x20d0, 0x20f0, - 0x2cef, 0x2cf1, - 0x2de0, 0x2dff, - 0x302a, 0x302f, - 0x3099, 0x309a, - 0xa66f, 0xa672, - 0xa67c, 0xa67d, - 0xa6f0, 0xa6f1, - 0xa802, 0xa802, - 0xa806, 0xa806, - 0xa80b, 0xa80b, - 0xa823, 0xa827, - 0xa880, 0xa881, - 0xa8b4, 0xa8c4, - 0xa8e0, 0xa8f1, - 0xa926, 0xa92d, - 0xa947, 0xa953, - 0xa980, 0xa983, - 0xa9b3, 0xa9c0, - 0xaa29, 0xaa36, - 0xaa43, 0xaa43, - 0xaa4c, 0xaa4d, - 0xaa7b, 0xaa7b, - 0xaab0, 0xaab0, - 0xaab2, 0xaab4, - 0xaab7, 0xaab8, - 0xaabe, 0xaabf, - 0xaac1, 0xaac1, - 0xabe3, 0xabea, - 0xabec, 0xabed, - 0xfb1e, 0xfb1e, - 0xfe00, 0xfe0f, - 0xfe20, 0xfe26, - 0x101fd, 0x101fd, - 0x10a01, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a0f, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x11080, 0x11082, - 0x110b0, 0x110ba, - 0x1d165, 0x1d169, - 0x1d16d, 0x1d172, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, - 0xe0100, 0xe01ef, -}; /* CR_M */ - -/* 'Mc': General Category */ -static const OnigCodePoint CR_Mc[] = { - 106, - 0x0903, 0x0903, - 0x093e, 0x0940, - 0x0949, 0x094c, - 0x094e, 0x094e, - 0x0982, 0x0983, - 0x09be, 0x09c0, - 0x09c7, 0x09c8, - 0x09cb, 0x09cc, - 0x09d7, 0x09d7, - 0x0a03, 0x0a03, - 0x0a3e, 0x0a40, - 0x0a83, 0x0a83, - 0x0abe, 0x0ac0, - 0x0ac9, 0x0ac9, - 0x0acb, 0x0acc, - 0x0b02, 0x0b03, - 0x0b3e, 0x0b3e, - 0x0b40, 0x0b40, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4c, - 0x0b57, 0x0b57, - 0x0bbe, 0x0bbf, - 0x0bc1, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcc, - 0x0bd7, 0x0bd7, - 0x0c01, 0x0c03, - 0x0c41, 0x0c44, - 0x0c82, 0x0c83, - 0x0cbe, 0x0cbe, - 0x0cc0, 0x0cc4, - 0x0cc7, 0x0cc8, - 0x0cca, 0x0ccb, - 0x0cd5, 0x0cd6, - 0x0d02, 0x0d03, - 0x0d3e, 0x0d40, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4c, - 0x0d57, 0x0d57, - 0x0d82, 0x0d83, - 0x0dcf, 0x0dd1, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0f3e, 0x0f3f, - 0x0f7f, 0x0f7f, - 0x102b, 0x102c, - 0x1031, 0x1031, - 0x1038, 0x1038, - 0x103b, 0x103c, - 0x1056, 0x1057, - 0x1062, 0x1064, - 0x1067, 0x106d, - 0x1083, 0x1084, - 0x1087, 0x108c, - 0x108f, 0x108f, - 0x109a, 0x109c, - 0x17b6, 0x17b6, - 0x17be, 0x17c5, - 0x17c7, 0x17c8, - 0x1923, 0x1926, - 0x1929, 0x192b, - 0x1930, 0x1931, - 0x1933, 0x1938, - 0x19b0, 0x19c0, - 0x19c8, 0x19c9, - 0x1a19, 0x1a1b, - 0x1a55, 0x1a55, - 0x1a57, 0x1a57, - 0x1a61, 0x1a61, - 0x1a63, 0x1a64, - 0x1a6d, 0x1a72, - 0x1b04, 0x1b04, - 0x1b35, 0x1b35, - 0x1b3b, 0x1b3b, - 0x1b3d, 0x1b41, - 0x1b43, 0x1b44, - 0x1b82, 0x1b82, - 0x1ba1, 0x1ba1, - 0x1ba6, 0x1ba7, - 0x1baa, 0x1baa, - 0x1c24, 0x1c2b, - 0x1c34, 0x1c35, - 0x1ce1, 0x1ce1, - 0x1cf2, 0x1cf2, - 0xa823, 0xa824, - 0xa827, 0xa827, - 0xa880, 0xa881, - 0xa8b4, 0xa8c3, - 0xa952, 0xa953, - 0xa983, 0xa983, - 0xa9b4, 0xa9b5, - 0xa9ba, 0xa9bb, - 0xa9bd, 0xa9c0, - 0xaa2f, 0xaa30, - 0xaa33, 0xaa34, - 0xaa4d, 0xaa4d, - 0xaa7b, 0xaa7b, - 0xabe3, 0xabe4, - 0xabe6, 0xabe7, - 0xabe9, 0xabea, - 0xabec, 0xabec, - 0x11082, 0x11082, - 0x110b0, 0x110b2, - 0x110b7, 0x110b8, - 0x1d165, 0x1d166, - 0x1d16d, 0x1d172, -}; /* CR_Mc */ - -/* 'Me': General Category */ -static const OnigCodePoint CR_Me[] = { - 5, - 0x0488, 0x0489, - 0x06de, 0x06de, - 0x20dd, 0x20e0, - 0x20e2, 0x20e4, - 0xa670, 0xa672, -}; /* CR_Me */ - -/* 'Mn': General Category */ -static const OnigCodePoint CR_Mn[] = { - 194, - 0x0300, 0x036f, - 0x0483, 0x0487, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x0610, 0x061a, - 0x064b, 0x065e, - 0x0670, 0x0670, - 0x06d6, 0x06dc, - 0x06df, 0x06e4, - 0x06e7, 0x06e8, - 0x06ea, 0x06ed, - 0x0711, 0x0711, - 0x0730, 0x074a, - 0x07a6, 0x07b0, - 0x07eb, 0x07f3, - 0x0816, 0x0819, - 0x081b, 0x0823, - 0x0825, 0x0827, - 0x0829, 0x082d, - 0x0900, 0x0902, - 0x093c, 0x093c, - 0x0941, 0x0948, - 0x094d, 0x094d, - 0x0951, 0x0955, - 0x0962, 0x0963, - 0x0981, 0x0981, - 0x09bc, 0x09bc, - 0x09c1, 0x09c4, - 0x09cd, 0x09cd, - 0x09e2, 0x09e3, - 0x0a01, 0x0a02, - 0x0a3c, 0x0a3c, - 0x0a41, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a70, 0x0a71, - 0x0a75, 0x0a75, - 0x0a81, 0x0a82, - 0x0abc, 0x0abc, - 0x0ac1, 0x0ac5, - 0x0ac7, 0x0ac8, - 0x0acd, 0x0acd, - 0x0ae2, 0x0ae3, - 0x0b01, 0x0b01, - 0x0b3c, 0x0b3c, - 0x0b3f, 0x0b3f, - 0x0b41, 0x0b44, - 0x0b4d, 0x0b4d, - 0x0b56, 0x0b56, - 0x0b62, 0x0b63, - 0x0b82, 0x0b82, - 0x0bc0, 0x0bc0, - 0x0bcd, 0x0bcd, - 0x0c3e, 0x0c40, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c62, 0x0c63, - 0x0cbc, 0x0cbc, - 0x0cbf, 0x0cbf, - 0x0cc6, 0x0cc6, - 0x0ccc, 0x0ccd, - 0x0ce2, 0x0ce3, - 0x0d41, 0x0d44, - 0x0d4d, 0x0d4d, - 0x0d62, 0x0d63, - 0x0dca, 0x0dca, - 0x0dd2, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0e31, 0x0e31, - 0x0e34, 0x0e3a, - 0x0e47, 0x0e4e, - 0x0eb1, 0x0eb1, - 0x0eb4, 0x0eb9, - 0x0ebb, 0x0ebc, - 0x0ec8, 0x0ecd, - 0x0f18, 0x0f19, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f71, 0x0f7e, - 0x0f80, 0x0f84, - 0x0f86, 0x0f87, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x102d, 0x1030, - 0x1032, 0x1037, - 0x1039, 0x103a, - 0x103d, 0x103e, - 0x1058, 0x1059, - 0x105e, 0x1060, - 0x1071, 0x1074, - 0x1082, 0x1082, - 0x1085, 0x1086, - 0x108d, 0x108d, - 0x109d, 0x109d, - 0x135f, 0x135f, - 0x1712, 0x1714, - 0x1732, 0x1734, - 0x1752, 0x1753, - 0x1772, 0x1773, - 0x17b7, 0x17bd, - 0x17c6, 0x17c6, - 0x17c9, 0x17d3, - 0x17dd, 0x17dd, - 0x180b, 0x180d, - 0x18a9, 0x18a9, - 0x1920, 0x1922, - 0x1927, 0x1928, - 0x1932, 0x1932, - 0x1939, 0x193b, - 0x1a17, 0x1a18, - 0x1a56, 0x1a56, - 0x1a58, 0x1a5e, - 0x1a60, 0x1a60, - 0x1a62, 0x1a62, - 0x1a65, 0x1a6c, - 0x1a73, 0x1a7c, - 0x1a7f, 0x1a7f, - 0x1b00, 0x1b03, - 0x1b34, 0x1b34, - 0x1b36, 0x1b3a, - 0x1b3c, 0x1b3c, - 0x1b42, 0x1b42, - 0x1b6b, 0x1b73, - 0x1b80, 0x1b81, - 0x1ba2, 0x1ba5, - 0x1ba8, 0x1ba9, - 0x1c2c, 0x1c33, - 0x1c36, 0x1c37, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1ce0, - 0x1ce2, 0x1ce8, - 0x1ced, 0x1ced, - 0x1dc0, 0x1de6, - 0x1dfd, 0x1dff, - 0x20d0, 0x20dc, - 0x20e1, 0x20e1, - 0x20e5, 0x20f0, - 0x2cef, 0x2cf1, - 0x2de0, 0x2dff, - 0x302a, 0x302f, - 0x3099, 0x309a, - 0xa66f, 0xa66f, - 0xa67c, 0xa67d, - 0xa6f0, 0xa6f1, - 0xa802, 0xa802, - 0xa806, 0xa806, - 0xa80b, 0xa80b, - 0xa825, 0xa826, - 0xa8c4, 0xa8c4, - 0xa8e0, 0xa8f1, - 0xa926, 0xa92d, - 0xa947, 0xa951, - 0xa980, 0xa982, - 0xa9b3, 0xa9b3, - 0xa9b6, 0xa9b9, - 0xa9bc, 0xa9bc, - 0xaa29, 0xaa2e, - 0xaa31, 0xaa32, - 0xaa35, 0xaa36, - 0xaa43, 0xaa43, - 0xaa4c, 0xaa4c, - 0xaab0, 0xaab0, - 0xaab2, 0xaab4, - 0xaab7, 0xaab8, - 0xaabe, 0xaabf, - 0xaac1, 0xaac1, - 0xabe5, 0xabe5, - 0xabe8, 0xabe8, - 0xabed, 0xabed, - 0xfb1e, 0xfb1e, - 0xfe00, 0xfe0f, - 0xfe20, 0xfe26, - 0x101fd, 0x101fd, - 0x10a01, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a0f, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x11080, 0x11081, - 0x110b3, 0x110b6, - 0x110b9, 0x110ba, - 0x1d167, 0x1d169, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, - 0xe0100, 0xe01ef, -}; /* CR_Mn */ - -/* 'N': Major Category */ -static const OnigCodePoint CR_N[] = { - 81, - 0x0030, 0x0039, - 0x00b2, 0x00b3, - 0x00b9, 0x00b9, - 0x00bc, 0x00be, - 0x0660, 0x0669, - 0x06f0, 0x06f9, - 0x07c0, 0x07c9, - 0x0966, 0x096f, - 0x09e6, 0x09ef, - 0x09f4, 0x09f9, - 0x0a66, 0x0a6f, - 0x0ae6, 0x0aef, - 0x0b66, 0x0b6f, - 0x0be6, 0x0bf2, - 0x0c66, 0x0c6f, - 0x0c78, 0x0c7e, - 0x0ce6, 0x0cef, - 0x0d66, 0x0d75, - 0x0e50, 0x0e59, - 0x0ed0, 0x0ed9, - 0x0f20, 0x0f33, - 0x1040, 0x1049, - 0x1090, 0x1099, - 0x1369, 0x137c, - 0x16ee, 0x16f0, - 0x17e0, 0x17e9, - 0x17f0, 0x17f9, - 0x1810, 0x1819, - 0x1946, 0x194f, - 0x19d0, 0x19da, - 0x1a80, 0x1a89, - 0x1a90, 0x1a99, - 0x1b50, 0x1b59, - 0x1bb0, 0x1bb9, - 0x1c40, 0x1c49, - 0x1c50, 0x1c59, - 0x2070, 0x2070, - 0x2074, 0x2079, - 0x2080, 0x2089, - 0x2150, 0x2182, - 0x2185, 0x2189, - 0x2460, 0x249b, - 0x24ea, 0x24ff, - 0x2776, 0x2793, - 0x2cfd, 0x2cfd, - 0x3007, 0x3007, - 0x3021, 0x3029, - 0x3038, 0x303a, - 0x3192, 0x3195, - 0x3220, 0x3229, - 0x3251, 0x325f, - 0x3280, 0x3289, - 0x32b1, 0x32bf, - 0xa620, 0xa629, - 0xa6e6, 0xa6ef, - 0xa830, 0xa835, - 0xa8d0, 0xa8d9, - 0xa900, 0xa909, - 0xa9d0, 0xa9d9, - 0xaa50, 0xaa59, - 0xabf0, 0xabf9, - 0xff10, 0xff19, - 0x10107, 0x10133, - 0x10140, 0x10178, - 0x1018a, 0x1018a, - 0x10320, 0x10323, - 0x10341, 0x10341, - 0x1034a, 0x1034a, - 0x103d1, 0x103d5, - 0x104a0, 0x104a9, - 0x10858, 0x1085f, - 0x10916, 0x1091b, - 0x10a40, 0x10a47, - 0x10a7d, 0x10a7e, - 0x10b58, 0x10b5f, - 0x10b78, 0x10b7f, - 0x10e60, 0x10e7e, - 0x12400, 0x12462, - 0x1d360, 0x1d371, - 0x1d7ce, 0x1d7ff, - 0x1f100, 0x1f10a, -}; /* CR_N */ - -/* 'Nd': General Category */ -static const OnigCodePoint CR_Nd[] = { - 37, - 0x0030, 0x0039, - 0x0660, 0x0669, - 0x06f0, 0x06f9, - 0x07c0, 0x07c9, - 0x0966, 0x096f, - 0x09e6, 0x09ef, - 0x0a66, 0x0a6f, - 0x0ae6, 0x0aef, - 0x0b66, 0x0b6f, - 0x0be6, 0x0bef, - 0x0c66, 0x0c6f, - 0x0ce6, 0x0cef, - 0x0d66, 0x0d6f, - 0x0e50, 0x0e59, - 0x0ed0, 0x0ed9, - 0x0f20, 0x0f29, - 0x1040, 0x1049, - 0x1090, 0x1099, - 0x17e0, 0x17e9, - 0x1810, 0x1819, - 0x1946, 0x194f, - 0x19d0, 0x19da, - 0x1a80, 0x1a89, - 0x1a90, 0x1a99, - 0x1b50, 0x1b59, - 0x1bb0, 0x1bb9, - 0x1c40, 0x1c49, - 0x1c50, 0x1c59, - 0xa620, 0xa629, - 0xa8d0, 0xa8d9, - 0xa900, 0xa909, - 0xa9d0, 0xa9d9, - 0xaa50, 0xaa59, - 0xabf0, 0xabf9, - 0xff10, 0xff19, - 0x104a0, 0x104a9, - 0x1d7ce, 0x1d7ff, -}; /* CR_Nd */ - -/* 'Nl': General Category */ -static const OnigCodePoint CR_Nl[] = { - 12, - 0x16ee, 0x16f0, - 0x2160, 0x2182, - 0x2185, 0x2188, - 0x3007, 0x3007, - 0x3021, 0x3029, - 0x3038, 0x303a, - 0xa6e6, 0xa6ef, - 0x10140, 0x10174, - 0x10341, 0x10341, - 0x1034a, 0x1034a, - 0x103d1, 0x103d5, - 0x12400, 0x12462, -}; /* CR_Nl */ - -/* 'No': General Category */ -static const OnigCodePoint CR_No[] = { - 38, - 0x00b2, 0x00b3, - 0x00b9, 0x00b9, - 0x00bc, 0x00be, - 0x09f4, 0x09f9, - 0x0bf0, 0x0bf2, - 0x0c78, 0x0c7e, - 0x0d70, 0x0d75, - 0x0f2a, 0x0f33, - 0x1369, 0x137c, - 0x17f0, 0x17f9, - 0x2070, 0x2070, - 0x2074, 0x2079, - 0x2080, 0x2089, - 0x2150, 0x215f, - 0x2189, 0x2189, - 0x2460, 0x249b, - 0x24ea, 0x24ff, - 0x2776, 0x2793, - 0x2cfd, 0x2cfd, - 0x3192, 0x3195, - 0x3220, 0x3229, - 0x3251, 0x325f, - 0x3280, 0x3289, - 0x32b1, 0x32bf, - 0xa830, 0xa835, - 0x10107, 0x10133, - 0x10175, 0x10178, - 0x1018a, 0x1018a, - 0x10320, 0x10323, - 0x10858, 0x1085f, - 0x10916, 0x1091b, - 0x10a40, 0x10a47, - 0x10a7d, 0x10a7e, - 0x10b58, 0x10b5f, - 0x10b78, 0x10b7f, - 0x10e60, 0x10e7e, - 0x1d360, 0x1d371, - 0x1f100, 0x1f10a, -}; /* CR_No */ - -/* 'P': Major Category */ -static const OnigCodePoint CR_P[] = { - 129, - 0x0021, 0x0023, - 0x0025, 0x002a, - 0x002c, 0x002f, - 0x003a, 0x003b, - 0x003f, 0x0040, - 0x005b, 0x005d, - 0x005f, 0x005f, - 0x007b, 0x007b, - 0x007d, 0x007d, - 0x00a1, 0x00a1, - 0x00ab, 0x00ab, - 0x00b7, 0x00b7, - 0x00bb, 0x00bb, - 0x00bf, 0x00bf, - 0x037e, 0x037e, - 0x0387, 0x0387, - 0x055a, 0x055f, - 0x0589, 0x058a, - 0x05be, 0x05be, - 0x05c0, 0x05c0, - 0x05c3, 0x05c3, - 0x05c6, 0x05c6, - 0x05f3, 0x05f4, - 0x0609, 0x060a, - 0x060c, 0x060d, - 0x061b, 0x061b, - 0x061e, 0x061f, - 0x066a, 0x066d, - 0x06d4, 0x06d4, - 0x0700, 0x070d, - 0x07f7, 0x07f9, - 0x0830, 0x083e, - 0x0964, 0x0965, - 0x0970, 0x0970, - 0x0df4, 0x0df4, - 0x0e4f, 0x0e4f, - 0x0e5a, 0x0e5b, - 0x0f04, 0x0f12, - 0x0f3a, 0x0f3d, - 0x0f85, 0x0f85, - 0x0fd0, 0x0fd4, - 0x104a, 0x104f, - 0x10fb, 0x10fb, - 0x1361, 0x1368, - 0x1400, 0x1400, - 0x166d, 0x166e, - 0x169b, 0x169c, - 0x16eb, 0x16ed, - 0x1735, 0x1736, - 0x17d4, 0x17d6, - 0x17d8, 0x17da, - 0x1800, 0x180a, - 0x1944, 0x1945, - 0x19de, 0x19df, - 0x1a1e, 0x1a1f, - 0x1aa0, 0x1aa6, - 0x1aa8, 0x1aad, - 0x1b5a, 0x1b60, - 0x1c3b, 0x1c3f, - 0x1c7e, 0x1c7f, - 0x1cd3, 0x1cd3, - 0x2010, 0x2027, - 0x2030, 0x2043, - 0x2045, 0x2051, - 0x2053, 0x205e, - 0x207d, 0x207e, - 0x208d, 0x208e, - 0x2329, 0x232a, - 0x2768, 0x2775, - 0x27c5, 0x27c6, - 0x27e6, 0x27ef, - 0x2983, 0x2998, - 0x29d8, 0x29db, - 0x29fc, 0x29fd, - 0x2cf9, 0x2cfc, - 0x2cfe, 0x2cff, - 0x2e00, 0x2e2e, - 0x2e30, 0x2e31, - 0x3001, 0x3003, - 0x3008, 0x3011, - 0x3014, 0x301f, - 0x3030, 0x3030, - 0x303d, 0x303d, - 0x30a0, 0x30a0, - 0x30fb, 0x30fb, - 0xa4fe, 0xa4ff, - 0xa60d, 0xa60f, - 0xa673, 0xa673, - 0xa67e, 0xa67e, - 0xa6f2, 0xa6f7, - 0xa874, 0xa877, - 0xa8ce, 0xa8cf, - 0xa8f8, 0xa8fa, - 0xa92e, 0xa92f, - 0xa95f, 0xa95f, - 0xa9c1, 0xa9cd, - 0xa9de, 0xa9df, - 0xaa5c, 0xaa5f, - 0xaade, 0xaadf, - 0xabeb, 0xabeb, - 0xfd3e, 0xfd3f, - 0xfe10, 0xfe19, - 0xfe30, 0xfe52, - 0xfe54, 0xfe61, - 0xfe63, 0xfe63, - 0xfe68, 0xfe68, - 0xfe6a, 0xfe6b, - 0xff01, 0xff03, - 0xff05, 0xff0a, - 0xff0c, 0xff0f, - 0xff1a, 0xff1b, - 0xff1f, 0xff20, - 0xff3b, 0xff3d, - 0xff3f, 0xff3f, - 0xff5b, 0xff5b, - 0xff5d, 0xff5d, - 0xff5f, 0xff65, - 0x10100, 0x10101, - 0x1039f, 0x1039f, - 0x103d0, 0x103d0, - 0x10857, 0x10857, - 0x1091f, 0x1091f, - 0x1093f, 0x1093f, - 0x10a50, 0x10a58, - 0x10a7f, 0x10a7f, - 0x10b39, 0x10b3f, - 0x110bb, 0x110bc, - 0x110be, 0x110c1, - 0x12470, 0x12473, -}; /* CR_P */ - -/* 'Pc': General Category */ -static const OnigCodePoint CR_Pc[] = { - 6, - 0x005f, 0x005f, - 0x203f, 0x2040, - 0x2054, 0x2054, - 0xfe33, 0xfe34, - 0xfe4d, 0xfe4f, - 0xff3f, 0xff3f, -}; /* CR_Pc */ - -/* 'Pd': General Category */ -static const OnigCodePoint CR_Pd[] = { - 15, - 0x002d, 0x002d, - 0x058a, 0x058a, - 0x05be, 0x05be, - 0x1400, 0x1400, - 0x1806, 0x1806, - 0x2010, 0x2015, - 0x2e17, 0x2e17, - 0x2e1a, 0x2e1a, - 0x301c, 0x301c, - 0x3030, 0x3030, - 0x30a0, 0x30a0, - 0xfe31, 0xfe32, - 0xfe58, 0xfe58, - 0xfe63, 0xfe63, - 0xff0d, 0xff0d, -}; /* CR_Pd */ - -/* 'Pe': General Category */ -static const OnigCodePoint CR_Pe[] = { - 70, - 0x0029, 0x0029, - 0x005d, 0x005d, - 0x007d, 0x007d, - 0x0f3b, 0x0f3b, - 0x0f3d, 0x0f3d, - 0x169c, 0x169c, - 0x2046, 0x2046, - 0x207e, 0x207e, - 0x208e, 0x208e, - 0x232a, 0x232a, - 0x2769, 0x2769, - 0x276b, 0x276b, - 0x276d, 0x276d, - 0x276f, 0x276f, - 0x2771, 0x2771, - 0x2773, 0x2773, - 0x2775, 0x2775, - 0x27c6, 0x27c6, - 0x27e7, 0x27e7, - 0x27e9, 0x27e9, - 0x27eb, 0x27eb, - 0x27ed, 0x27ed, - 0x27ef, 0x27ef, - 0x2984, 0x2984, - 0x2986, 0x2986, - 0x2988, 0x2988, - 0x298a, 0x298a, - 0x298c, 0x298c, - 0x298e, 0x298e, - 0x2990, 0x2990, - 0x2992, 0x2992, - 0x2994, 0x2994, - 0x2996, 0x2996, - 0x2998, 0x2998, - 0x29d9, 0x29d9, - 0x29db, 0x29db, - 0x29fd, 0x29fd, - 0x2e23, 0x2e23, - 0x2e25, 0x2e25, - 0x2e27, 0x2e27, - 0x2e29, 0x2e29, - 0x3009, 0x3009, - 0x300b, 0x300b, - 0x300d, 0x300d, - 0x300f, 0x300f, - 0x3011, 0x3011, - 0x3015, 0x3015, - 0x3017, 0x3017, - 0x3019, 0x3019, - 0x301b, 0x301b, - 0x301e, 0x301f, - 0xfd3f, 0xfd3f, - 0xfe18, 0xfe18, - 0xfe36, 0xfe36, - 0xfe38, 0xfe38, - 0xfe3a, 0xfe3a, - 0xfe3c, 0xfe3c, - 0xfe3e, 0xfe3e, - 0xfe40, 0xfe40, - 0xfe42, 0xfe42, - 0xfe44, 0xfe44, - 0xfe48, 0xfe48, - 0xfe5a, 0xfe5a, - 0xfe5c, 0xfe5c, - 0xfe5e, 0xfe5e, - 0xff09, 0xff09, - 0xff3d, 0xff3d, - 0xff5d, 0xff5d, - 0xff60, 0xff60, - 0xff63, 0xff63, -}; /* CR_Pe */ - -/* 'Pf': General Category */ -static const OnigCodePoint CR_Pf[] = { - 10, - 0x00bb, 0x00bb, - 0x2019, 0x2019, - 0x201d, 0x201d, - 0x203a, 0x203a, - 0x2e03, 0x2e03, - 0x2e05, 0x2e05, - 0x2e0a, 0x2e0a, - 0x2e0d, 0x2e0d, - 0x2e1d, 0x2e1d, - 0x2e21, 0x2e21, -}; /* CR_Pf */ - -/* 'Pi': General Category */ -static const OnigCodePoint CR_Pi[] = { - 11, - 0x00ab, 0x00ab, - 0x2018, 0x2018, - 0x201b, 0x201c, - 0x201f, 0x201f, - 0x2039, 0x2039, - 0x2e02, 0x2e02, - 0x2e04, 0x2e04, - 0x2e09, 0x2e09, - 0x2e0c, 0x2e0c, - 0x2e1c, 0x2e1c, - 0x2e20, 0x2e20, -}; /* CR_Pi */ - -/* 'Po': General Category */ -static const OnigCodePoint CR_Po[] = { - 124, - 0x0021, 0x0023, - 0x0025, 0x0027, - 0x002a, 0x002a, - 0x002c, 0x002c, - 0x002e, 0x002f, - 0x003a, 0x003b, - 0x003f, 0x0040, - 0x005c, 0x005c, - 0x00a1, 0x00a1, - 0x00b7, 0x00b7, - 0x00bf, 0x00bf, - 0x037e, 0x037e, - 0x0387, 0x0387, - 0x055a, 0x055f, - 0x0589, 0x0589, - 0x05c0, 0x05c0, - 0x05c3, 0x05c3, - 0x05c6, 0x05c6, - 0x05f3, 0x05f4, - 0x0609, 0x060a, - 0x060c, 0x060d, - 0x061b, 0x061b, - 0x061e, 0x061f, - 0x066a, 0x066d, - 0x06d4, 0x06d4, - 0x0700, 0x070d, - 0x07f7, 0x07f9, - 0x0830, 0x083e, - 0x0964, 0x0965, - 0x0970, 0x0970, - 0x0df4, 0x0df4, - 0x0e4f, 0x0e4f, - 0x0e5a, 0x0e5b, - 0x0f04, 0x0f12, - 0x0f85, 0x0f85, - 0x0fd0, 0x0fd4, - 0x104a, 0x104f, - 0x10fb, 0x10fb, - 0x1361, 0x1368, - 0x166d, 0x166e, - 0x16eb, 0x16ed, - 0x1735, 0x1736, - 0x17d4, 0x17d6, - 0x17d8, 0x17da, - 0x1800, 0x1805, - 0x1807, 0x180a, - 0x1944, 0x1945, - 0x19de, 0x19df, - 0x1a1e, 0x1a1f, - 0x1aa0, 0x1aa6, - 0x1aa8, 0x1aad, - 0x1b5a, 0x1b60, - 0x1c3b, 0x1c3f, - 0x1c7e, 0x1c7f, - 0x1cd3, 0x1cd3, - 0x2016, 0x2017, - 0x2020, 0x2027, - 0x2030, 0x2038, - 0x203b, 0x203e, - 0x2041, 0x2043, - 0x2047, 0x2051, - 0x2053, 0x2053, - 0x2055, 0x205e, - 0x2cf9, 0x2cfc, - 0x2cfe, 0x2cff, - 0x2e00, 0x2e01, - 0x2e06, 0x2e08, - 0x2e0b, 0x2e0b, - 0x2e0e, 0x2e16, - 0x2e18, 0x2e19, - 0x2e1b, 0x2e1b, - 0x2e1e, 0x2e1f, - 0x2e2a, 0x2e2e, - 0x2e30, 0x2e31, - 0x3001, 0x3003, - 0x303d, 0x303d, - 0x30fb, 0x30fb, - 0xa4fe, 0xa4ff, - 0xa60d, 0xa60f, - 0xa673, 0xa673, - 0xa67e, 0xa67e, - 0xa6f2, 0xa6f7, - 0xa874, 0xa877, - 0xa8ce, 0xa8cf, - 0xa8f8, 0xa8fa, - 0xa92e, 0xa92f, - 0xa95f, 0xa95f, - 0xa9c1, 0xa9cd, - 0xa9de, 0xa9df, - 0xaa5c, 0xaa5f, - 0xaade, 0xaadf, - 0xabeb, 0xabeb, - 0xfe10, 0xfe16, - 0xfe19, 0xfe19, - 0xfe30, 0xfe30, - 0xfe45, 0xfe46, - 0xfe49, 0xfe4c, - 0xfe50, 0xfe52, - 0xfe54, 0xfe57, - 0xfe5f, 0xfe61, - 0xfe68, 0xfe68, - 0xfe6a, 0xfe6b, - 0xff01, 0xff03, - 0xff05, 0xff07, - 0xff0a, 0xff0a, - 0xff0c, 0xff0c, - 0xff0e, 0xff0f, - 0xff1a, 0xff1b, - 0xff1f, 0xff20, - 0xff3c, 0xff3c, - 0xff61, 0xff61, - 0xff64, 0xff65, - 0x10100, 0x10101, - 0x1039f, 0x1039f, - 0x103d0, 0x103d0, - 0x10857, 0x10857, - 0x1091f, 0x1091f, - 0x1093f, 0x1093f, - 0x10a50, 0x10a58, - 0x10a7f, 0x10a7f, - 0x10b39, 0x10b3f, - 0x110bb, 0x110bc, - 0x110be, 0x110c1, - 0x12470, 0x12473, -}; /* CR_Po */ - -/* 'Ps': General Category */ -static const OnigCodePoint CR_Ps[] = { - 72, - 0x0028, 0x0028, - 0x005b, 0x005b, - 0x007b, 0x007b, - 0x0f3a, 0x0f3a, - 0x0f3c, 0x0f3c, - 0x169b, 0x169b, - 0x201a, 0x201a, - 0x201e, 0x201e, - 0x2045, 0x2045, - 0x207d, 0x207d, - 0x208d, 0x208d, - 0x2329, 0x2329, - 0x2768, 0x2768, - 0x276a, 0x276a, - 0x276c, 0x276c, - 0x276e, 0x276e, - 0x2770, 0x2770, - 0x2772, 0x2772, - 0x2774, 0x2774, - 0x27c5, 0x27c5, - 0x27e6, 0x27e6, - 0x27e8, 0x27e8, - 0x27ea, 0x27ea, - 0x27ec, 0x27ec, - 0x27ee, 0x27ee, - 0x2983, 0x2983, - 0x2985, 0x2985, - 0x2987, 0x2987, - 0x2989, 0x2989, - 0x298b, 0x298b, - 0x298d, 0x298d, - 0x298f, 0x298f, - 0x2991, 0x2991, - 0x2993, 0x2993, - 0x2995, 0x2995, - 0x2997, 0x2997, - 0x29d8, 0x29d8, - 0x29da, 0x29da, - 0x29fc, 0x29fc, - 0x2e22, 0x2e22, - 0x2e24, 0x2e24, - 0x2e26, 0x2e26, - 0x2e28, 0x2e28, - 0x3008, 0x3008, - 0x300a, 0x300a, - 0x300c, 0x300c, - 0x300e, 0x300e, - 0x3010, 0x3010, - 0x3014, 0x3014, - 0x3016, 0x3016, - 0x3018, 0x3018, - 0x301a, 0x301a, - 0x301d, 0x301d, - 0xfd3e, 0xfd3e, - 0xfe17, 0xfe17, - 0xfe35, 0xfe35, - 0xfe37, 0xfe37, - 0xfe39, 0xfe39, - 0xfe3b, 0xfe3b, - 0xfe3d, 0xfe3d, - 0xfe3f, 0xfe3f, - 0xfe41, 0xfe41, - 0xfe43, 0xfe43, - 0xfe47, 0xfe47, - 0xfe59, 0xfe59, - 0xfe5b, 0xfe5b, - 0xfe5d, 0xfe5d, - 0xff08, 0xff08, - 0xff3b, 0xff3b, - 0xff5b, 0xff5b, - 0xff5f, 0xff5f, - 0xff62, 0xff62, -}; /* CR_Ps */ - -/* 'S': Major Category */ -static const OnigCodePoint CR_S[] = { - 198, - 0x0024, 0x0024, - 0x002b, 0x002b, - 0x003c, 0x003e, - 0x005e, 0x005e, - 0x0060, 0x0060, - 0x007c, 0x007c, - 0x007e, 0x007e, - 0x00a2, 0x00a9, - 0x00ac, 0x00ac, - 0x00ae, 0x00b1, - 0x00b4, 0x00b4, - 0x00b6, 0x00b6, - 0x00b8, 0x00b8, - 0x00d7, 0x00d7, - 0x00f7, 0x00f7, - 0x02c2, 0x02c5, - 0x02d2, 0x02df, - 0x02e5, 0x02eb, - 0x02ed, 0x02ed, - 0x02ef, 0x02ff, - 0x0375, 0x0375, - 0x0384, 0x0385, - 0x03f6, 0x03f6, - 0x0482, 0x0482, - 0x0606, 0x0608, - 0x060b, 0x060b, - 0x060e, 0x060f, - 0x06e9, 0x06e9, - 0x06fd, 0x06fe, - 0x07f6, 0x07f6, - 0x09f2, 0x09f3, - 0x09fa, 0x09fb, - 0x0af1, 0x0af1, - 0x0b70, 0x0b70, - 0x0bf3, 0x0bfa, - 0x0c7f, 0x0c7f, - 0x0cf1, 0x0cf2, - 0x0d79, 0x0d79, - 0x0e3f, 0x0e3f, - 0x0f01, 0x0f03, - 0x0f13, 0x0f17, - 0x0f1a, 0x0f1f, - 0x0f34, 0x0f34, - 0x0f36, 0x0f36, - 0x0f38, 0x0f38, - 0x0fbe, 0x0fc5, - 0x0fc7, 0x0fcc, - 0x0fce, 0x0fcf, - 0x0fd5, 0x0fd8, - 0x109e, 0x109f, - 0x1360, 0x1360, - 0x1390, 0x1399, - 0x17db, 0x17db, - 0x1940, 0x1940, - 0x19e0, 0x19ff, - 0x1b61, 0x1b6a, - 0x1b74, 0x1b7c, - 0x1fbd, 0x1fbd, - 0x1fbf, 0x1fc1, - 0x1fcd, 0x1fcf, - 0x1fdd, 0x1fdf, - 0x1fed, 0x1fef, - 0x1ffd, 0x1ffe, - 0x2044, 0x2044, - 0x2052, 0x2052, - 0x207a, 0x207c, - 0x208a, 0x208c, - 0x20a0, 0x20b8, - 0x2100, 0x2101, - 0x2103, 0x2106, - 0x2108, 0x2109, - 0x2114, 0x2114, - 0x2116, 0x2118, - 0x211e, 0x2123, - 0x2125, 0x2125, - 0x2127, 0x2127, - 0x2129, 0x2129, - 0x212e, 0x212e, - 0x213a, 0x213b, - 0x2140, 0x2144, - 0x214a, 0x214d, - 0x214f, 0x214f, - 0x2190, 0x2328, - 0x232b, 0x23e8, - 0x2400, 0x2426, - 0x2440, 0x244a, - 0x249c, 0x24e9, - 0x2500, 0x26cd, - 0x26cf, 0x26e1, - 0x26e3, 0x26e3, - 0x26e8, 0x26ff, - 0x2701, 0x2704, - 0x2706, 0x2709, - 0x270c, 0x2727, - 0x2729, 0x274b, - 0x274d, 0x274d, - 0x274f, 0x2752, - 0x2756, 0x275e, - 0x2761, 0x2767, - 0x2794, 0x2794, - 0x2798, 0x27af, - 0x27b1, 0x27be, - 0x27c0, 0x27c4, - 0x27c7, 0x27ca, - 0x27cc, 0x27cc, - 0x27d0, 0x27e5, - 0x27f0, 0x2982, - 0x2999, 0x29d7, - 0x29dc, 0x29fb, - 0x29fe, 0x2b4c, - 0x2b50, 0x2b59, - 0x2ce5, 0x2cea, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x2ff0, 0x2ffb, - 0x3004, 0x3004, - 0x3012, 0x3013, - 0x3020, 0x3020, - 0x3036, 0x3037, - 0x303e, 0x303f, - 0x309b, 0x309c, - 0x3190, 0x3191, - 0x3196, 0x319f, - 0x31c0, 0x31e3, - 0x3200, 0x321e, - 0x322a, 0x3250, - 0x3260, 0x327f, - 0x328a, 0x32b0, - 0x32c0, 0x32fe, - 0x3300, 0x33ff, - 0x4dc0, 0x4dff, - 0xa490, 0xa4c6, - 0xa700, 0xa716, - 0xa720, 0xa721, - 0xa789, 0xa78a, - 0xa828, 0xa82b, - 0xa836, 0xa839, - 0xaa77, 0xaa79, - 0xfb29, 0xfb29, - 0xfdfc, 0xfdfd, - 0xfe62, 0xfe62, - 0xfe64, 0xfe66, - 0xfe69, 0xfe69, - 0xff04, 0xff04, - 0xff0b, 0xff0b, - 0xff1c, 0xff1e, - 0xff3e, 0xff3e, - 0xff40, 0xff40, - 0xff5c, 0xff5c, - 0xff5e, 0xff5e, - 0xffe0, 0xffe6, - 0xffe8, 0xffee, - 0xfffc, 0xfffd, - 0x10102, 0x10102, - 0x10137, 0x1013f, - 0x10179, 0x10189, - 0x10190, 0x1019b, - 0x101d0, 0x101fc, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d129, 0x1d164, - 0x1d16a, 0x1d16c, - 0x1d183, 0x1d184, - 0x1d18c, 0x1d1a9, - 0x1d1ae, 0x1d1dd, - 0x1d200, 0x1d241, - 0x1d245, 0x1d245, - 0x1d300, 0x1d356, - 0x1d6c1, 0x1d6c1, - 0x1d6db, 0x1d6db, - 0x1d6fb, 0x1d6fb, - 0x1d715, 0x1d715, - 0x1d735, 0x1d735, - 0x1d74f, 0x1d74f, - 0x1d76f, 0x1d76f, - 0x1d789, 0x1d789, - 0x1d7a9, 0x1d7a9, - 0x1d7c3, 0x1d7c3, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f110, 0x1f12e, - 0x1f131, 0x1f131, - 0x1f13d, 0x1f13d, - 0x1f13f, 0x1f13f, - 0x1f142, 0x1f142, - 0x1f146, 0x1f146, - 0x1f14a, 0x1f14e, - 0x1f157, 0x1f157, - 0x1f15f, 0x1f15f, - 0x1f179, 0x1f179, - 0x1f17b, 0x1f17c, - 0x1f17f, 0x1f17f, - 0x1f18a, 0x1f18d, - 0x1f190, 0x1f190, - 0x1f200, 0x1f200, - 0x1f210, 0x1f231, - 0x1f240, 0x1f248, -}; /* CR_S */ - -/* 'Sc': General Category */ -static const OnigCodePoint CR_Sc[] = { - 16, - 0x0024, 0x0024, - 0x00a2, 0x00a5, - 0x060b, 0x060b, - 0x09f2, 0x09f3, - 0x09fb, 0x09fb, - 0x0af1, 0x0af1, - 0x0bf9, 0x0bf9, - 0x0e3f, 0x0e3f, - 0x17db, 0x17db, - 0x20a0, 0x20b8, - 0xa838, 0xa838, - 0xfdfc, 0xfdfc, - 0xfe69, 0xfe69, - 0xff04, 0xff04, - 0xffe0, 0xffe1, - 0xffe5, 0xffe6, -}; /* CR_Sc */ - -/* 'Sk': General Category */ -static const OnigCodePoint CR_Sk[] = { - 26, - 0x005e, 0x005e, - 0x0060, 0x0060, - 0x00a8, 0x00a8, - 0x00af, 0x00af, - 0x00b4, 0x00b4, - 0x00b8, 0x00b8, - 0x02c2, 0x02c5, - 0x02d2, 0x02df, - 0x02e5, 0x02eb, - 0x02ed, 0x02ed, - 0x02ef, 0x02ff, - 0x0375, 0x0375, - 0x0384, 0x0385, - 0x1fbd, 0x1fbd, - 0x1fbf, 0x1fc1, - 0x1fcd, 0x1fcf, - 0x1fdd, 0x1fdf, - 0x1fed, 0x1fef, - 0x1ffd, 0x1ffe, - 0x309b, 0x309c, - 0xa700, 0xa716, - 0xa720, 0xa721, - 0xa789, 0xa78a, - 0xff3e, 0xff3e, - 0xff40, 0xff40, - 0xffe3, 0xffe3, -}; /* CR_Sk */ - -/* 'Sm': General Category */ -static const OnigCodePoint CR_Sm[] = { - 65, - 0x002b, 0x002b, - 0x003c, 0x003e, - 0x007c, 0x007c, - 0x007e, 0x007e, - 0x00ac, 0x00ac, - 0x00b1, 0x00b1, - 0x00d7, 0x00d7, - 0x00f7, 0x00f7, - 0x03f6, 0x03f6, - 0x0606, 0x0608, - 0x2044, 0x2044, - 0x2052, 0x2052, - 0x207a, 0x207c, - 0x208a, 0x208c, - 0x2140, 0x2144, - 0x214b, 0x214b, - 0x2190, 0x2194, - 0x219a, 0x219b, - 0x21a0, 0x21a0, - 0x21a3, 0x21a3, - 0x21a6, 0x21a6, - 0x21ae, 0x21ae, - 0x21ce, 0x21cf, - 0x21d2, 0x21d2, - 0x21d4, 0x21d4, - 0x21f4, 0x22ff, - 0x2308, 0x230b, - 0x2320, 0x2321, - 0x237c, 0x237c, - 0x239b, 0x23b3, - 0x23dc, 0x23e1, - 0x25b7, 0x25b7, - 0x25c1, 0x25c1, - 0x25f8, 0x25ff, - 0x266f, 0x266f, - 0x27c0, 0x27c4, - 0x27c7, 0x27ca, - 0x27cc, 0x27cc, - 0x27d0, 0x27e5, - 0x27f0, 0x27ff, - 0x2900, 0x2982, - 0x2999, 0x29d7, - 0x29dc, 0x29fb, - 0x29fe, 0x2aff, - 0x2b30, 0x2b44, - 0x2b47, 0x2b4c, - 0xfb29, 0xfb29, - 0xfe62, 0xfe62, - 0xfe64, 0xfe66, - 0xff0b, 0xff0b, - 0xff1c, 0xff1e, - 0xff5c, 0xff5c, - 0xff5e, 0xff5e, - 0xffe2, 0xffe2, - 0xffe9, 0xffec, - 0x1d6c1, 0x1d6c1, - 0x1d6db, 0x1d6db, - 0x1d6fb, 0x1d6fb, - 0x1d715, 0x1d715, - 0x1d735, 0x1d735, - 0x1d74f, 0x1d74f, - 0x1d76f, 0x1d76f, - 0x1d789, 0x1d789, - 0x1d7a9, 0x1d7a9, - 0x1d7c3, 0x1d7c3, -}; /* CR_Sm */ - -/* 'So': General Category */ -static const OnigCodePoint CR_So[] = { - 154, - 0x00a6, 0x00a7, - 0x00a9, 0x00a9, - 0x00ae, 0x00ae, - 0x00b0, 0x00b0, - 0x00b6, 0x00b6, - 0x0482, 0x0482, - 0x060e, 0x060f, - 0x06e9, 0x06e9, - 0x06fd, 0x06fe, - 0x07f6, 0x07f6, - 0x09fa, 0x09fa, - 0x0b70, 0x0b70, - 0x0bf3, 0x0bf8, - 0x0bfa, 0x0bfa, - 0x0c7f, 0x0c7f, - 0x0cf1, 0x0cf2, - 0x0d79, 0x0d79, - 0x0f01, 0x0f03, - 0x0f13, 0x0f17, - 0x0f1a, 0x0f1f, - 0x0f34, 0x0f34, - 0x0f36, 0x0f36, - 0x0f38, 0x0f38, - 0x0fbe, 0x0fc5, - 0x0fc7, 0x0fcc, - 0x0fce, 0x0fcf, - 0x0fd5, 0x0fd8, - 0x109e, 0x109f, - 0x1360, 0x1360, - 0x1390, 0x1399, - 0x1940, 0x1940, - 0x19e0, 0x19ff, - 0x1b61, 0x1b6a, - 0x1b74, 0x1b7c, - 0x2100, 0x2101, - 0x2103, 0x2106, - 0x2108, 0x2109, - 0x2114, 0x2114, - 0x2116, 0x2118, - 0x211e, 0x2123, - 0x2125, 0x2125, - 0x2127, 0x2127, - 0x2129, 0x2129, - 0x212e, 0x212e, - 0x213a, 0x213b, - 0x214a, 0x214a, - 0x214c, 0x214d, - 0x214f, 0x214f, - 0x2195, 0x2199, - 0x219c, 0x219f, - 0x21a1, 0x21a2, - 0x21a4, 0x21a5, - 0x21a7, 0x21ad, - 0x21af, 0x21cd, - 0x21d0, 0x21d1, - 0x21d3, 0x21d3, - 0x21d5, 0x21f3, - 0x2300, 0x2307, - 0x230c, 0x231f, - 0x2322, 0x2328, - 0x232b, 0x237b, - 0x237d, 0x239a, - 0x23b4, 0x23db, - 0x23e2, 0x23e8, - 0x2400, 0x2426, - 0x2440, 0x244a, - 0x249c, 0x24e9, - 0x2500, 0x25b6, - 0x25b8, 0x25c0, - 0x25c2, 0x25f7, - 0x2600, 0x266e, - 0x2670, 0x26cd, - 0x26cf, 0x26e1, - 0x26e3, 0x26e3, - 0x26e8, 0x26ff, - 0x2701, 0x2704, - 0x2706, 0x2709, - 0x270c, 0x2727, - 0x2729, 0x274b, - 0x274d, 0x274d, - 0x274f, 0x2752, - 0x2756, 0x275e, - 0x2761, 0x2767, - 0x2794, 0x2794, - 0x2798, 0x27af, - 0x27b1, 0x27be, - 0x2800, 0x28ff, - 0x2b00, 0x2b2f, - 0x2b45, 0x2b46, - 0x2b50, 0x2b59, - 0x2ce5, 0x2cea, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x2ff0, 0x2ffb, - 0x3004, 0x3004, - 0x3012, 0x3013, - 0x3020, 0x3020, - 0x3036, 0x3037, - 0x303e, 0x303f, - 0x3190, 0x3191, - 0x3196, 0x319f, - 0x31c0, 0x31e3, - 0x3200, 0x321e, - 0x322a, 0x3250, - 0x3260, 0x327f, - 0x328a, 0x32b0, - 0x32c0, 0x32fe, - 0x3300, 0x33ff, - 0x4dc0, 0x4dff, - 0xa490, 0xa4c6, - 0xa828, 0xa82b, - 0xa836, 0xa837, - 0xa839, 0xa839, - 0xaa77, 0xaa79, - 0xfdfd, 0xfdfd, - 0xffe4, 0xffe4, - 0xffe8, 0xffe8, - 0xffed, 0xffee, - 0xfffc, 0xfffd, - 0x10102, 0x10102, - 0x10137, 0x1013f, - 0x10179, 0x10189, - 0x10190, 0x1019b, - 0x101d0, 0x101fc, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d129, 0x1d164, - 0x1d16a, 0x1d16c, - 0x1d183, 0x1d184, - 0x1d18c, 0x1d1a9, - 0x1d1ae, 0x1d1dd, - 0x1d200, 0x1d241, - 0x1d245, 0x1d245, - 0x1d300, 0x1d356, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f110, 0x1f12e, - 0x1f131, 0x1f131, - 0x1f13d, 0x1f13d, - 0x1f13f, 0x1f13f, - 0x1f142, 0x1f142, - 0x1f146, 0x1f146, - 0x1f14a, 0x1f14e, - 0x1f157, 0x1f157, - 0x1f15f, 0x1f15f, - 0x1f179, 0x1f179, - 0x1f17b, 0x1f17c, - 0x1f17f, 0x1f17f, - 0x1f18a, 0x1f18d, - 0x1f190, 0x1f190, - 0x1f200, 0x1f200, - 0x1f210, 0x1f231, - 0x1f240, 0x1f248, -}; /* CR_So */ - -/* 'Z': Major Category */ -static const OnigCodePoint CR_Z[] = { - 9, - 0x0020, 0x0020, - 0x00a0, 0x00a0, - 0x1680, 0x1680, - 0x180e, 0x180e, - 0x2000, 0x200a, - 0x2028, 0x2029, - 0x202f, 0x202f, - 0x205f, 0x205f, - 0x3000, 0x3000, -}; /* CR_Z */ - -/* 'Zl': General Category */ -static const OnigCodePoint CR_Zl[] = { - 1, - 0x2028, 0x2028, -}; /* CR_Zl */ - -/* 'Zp': General Category */ -static const OnigCodePoint CR_Zp[] = { - 1, - 0x2029, 0x2029, -}; /* CR_Zp */ - -/* 'Zs': General Category */ -static const OnigCodePoint CR_Zs[] = { - 8, - 0x0020, 0x0020, - 0x00a0, 0x00a0, - 0x1680, 0x1680, - 0x180e, 0x180e, - 0x2000, 0x200a, - 0x202f, 0x202f, - 0x205f, 0x205f, - 0x3000, 0x3000, -}; /* CR_Zs */ - -/* 'Math': Derived Property */ -static const OnigCodePoint CR_Math[] = { - 105, - 0x002b, 0x002b, - 0x003c, 0x003e, - 0x005e, 0x005e, - 0x007c, 0x007c, - 0x007e, 0x007e, - 0x00ac, 0x00ac, - 0x00b1, 0x00b1, - 0x00d7, 0x00d7, - 0x00f7, 0x00f7, - 0x03d0, 0x03d2, - 0x03d5, 0x03d5, - 0x03f0, 0x03f1, - 0x03f4, 0x03f6, - 0x0606, 0x0608, - 0x2016, 0x2016, - 0x2032, 0x2034, - 0x2040, 0x2040, - 0x2044, 0x2044, - 0x2052, 0x2052, - 0x2061, 0x2064, - 0x207a, 0x207e, - 0x208a, 0x208e, - 0x20d0, 0x20dc, - 0x20e1, 0x20e1, - 0x20e5, 0x20e6, - 0x20eb, 0x20ef, - 0x2102, 0x2102, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2128, 0x2129, - 0x212c, 0x212d, - 0x212f, 0x2131, - 0x2133, 0x2138, - 0x213c, 0x2149, - 0x214b, 0x214b, - 0x2190, 0x21a7, - 0x21a9, 0x21ae, - 0x21b0, 0x21b1, - 0x21b6, 0x21b7, - 0x21bc, 0x21db, - 0x21dd, 0x21dd, - 0x21e4, 0x21e5, - 0x21f4, 0x22ff, - 0x2308, 0x230b, - 0x2320, 0x2321, - 0x237c, 0x237c, - 0x239b, 0x23b5, - 0x23b7, 0x23b7, - 0x23d0, 0x23d0, - 0x23dc, 0x23e2, - 0x25a0, 0x25a1, - 0x25ae, 0x25b7, - 0x25bc, 0x25c1, - 0x25c6, 0x25c7, - 0x25ca, 0x25cb, - 0x25cf, 0x25d3, - 0x25e2, 0x25e2, - 0x25e4, 0x25e4, - 0x25e7, 0x25ec, - 0x25f8, 0x25ff, - 0x2605, 0x2606, - 0x2640, 0x2640, - 0x2642, 0x2642, - 0x2660, 0x2663, - 0x266d, 0x266f, - 0x27c0, 0x27ca, - 0x27cc, 0x27cc, - 0x27d0, 0x27ff, - 0x2900, 0x2aff, - 0x2b30, 0x2b44, - 0x2b47, 0x2b4c, - 0xfb29, 0xfb29, - 0xfe61, 0xfe66, - 0xfe68, 0xfe68, - 0xff0b, 0xff0b, - 0xff1c, 0xff1e, - 0xff3c, 0xff3c, - 0xff3e, 0xff3e, - 0xff5c, 0xff5c, - 0xff5e, 0xff5e, - 0xffe2, 0xffe2, - 0xffe9, 0xffec, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, - 0x1d7ce, 0x1d7ff, -}; /* CR_Math */ - -/* 'Alphabetic': Derived Property */ -static const OnigCodePoint CR_Alphabetic[] = { - 474, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0345, 0x0345, - 0x0370, 0x0374, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x048a, 0x0525, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x05b0, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0610, 0x061a, - 0x0621, 0x0657, - 0x0659, 0x065e, - 0x066e, 0x06d3, - 0x06d5, 0x06dc, - 0x06e1, 0x06e8, - 0x06ed, 0x06ef, - 0x06fa, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x073f, - 0x074d, 0x07b1, - 0x07ca, 0x07ea, - 0x07f4, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x0817, - 0x081a, 0x082c, - 0x0900, 0x0939, - 0x093d, 0x094c, - 0x094e, 0x094e, - 0x0950, 0x0950, - 0x0955, 0x0955, - 0x0958, 0x0963, - 0x0971, 0x0972, - 0x0979, 0x097f, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bd, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09cc, - 0x09ce, 0x09ce, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09f0, 0x09f1, - 0x0a01, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4c, - 0x0a51, 0x0a51, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a70, 0x0a75, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abd, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acc, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3d, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4c, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b71, 0x0b71, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcc, - 0x0bd0, 0x0bd0, - 0x0bd7, 0x0bd7, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4c, - 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccc, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4c, - 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d7a, 0x0d7f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0e01, 0x0e3a, - 0x0e40, 0x0e46, - 0x0e4d, 0x0e4d, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ecd, 0x0ecd, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f40, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f81, - 0x0f88, 0x0f8b, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x1000, 0x1036, - 0x1038, 0x1038, - 0x103b, 0x103f, - 0x1050, 0x1062, - 0x1065, 0x1068, - 0x106e, 0x1086, - 0x108e, 0x108e, - 0x109c, 0x109d, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x135f, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1713, - 0x1720, 0x1733, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17b3, - 0x17b6, 0x17c8, - 0x17d7, 0x17d7, - 0x17dc, 0x17dc, - 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x1938, - 0x1950, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x1a00, 0x1a1b, - 0x1a20, 0x1a5e, - 0x1a61, 0x1a74, - 0x1aa7, 0x1aa7, - 0x1b00, 0x1b33, - 0x1b35, 0x1b43, - 0x1b45, 0x1b4b, - 0x1b80, 0x1ba9, - 0x1bae, 0x1baf, - 0x1c00, 0x1c35, - 0x1c4d, 0x1c4f, - 0x1c5a, 0x1c7d, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf2, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x2094, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x212f, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x24b6, 0x24e9, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2de0, 0x2dff, - 0x2e2f, 0x2e2f, - 0x3005, 0x3007, - 0x3021, 0x3029, - 0x3031, 0x3035, - 0x3038, 0x303c, - 0x3041, 0x3096, - 0x309d, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31b7, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa61f, - 0xa62a, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa66e, - 0xa67f, 0xa697, - 0xa6a0, 0xa6ef, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78c, - 0xa7fb, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa827, - 0xa840, 0xa873, - 0xa880, 0xa8c3, - 0xa8f2, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa90a, 0xa92a, - 0xa930, 0xa952, - 0xa960, 0xa97c, - 0xa980, 0xa9bf, - 0xa9cf, 0xa9cf, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7a, - 0xaa80, 0xaabe, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadd, - 0xabc0, 0xabea, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0xff66, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, - 0x10400, 0x1049d, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11082, 0x110b8, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x13000, 0x1342e, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, -}; /* CR_Alphabetic */ - -/* 'Lowercase': Derived Property */ -static const OnigCodePoint CR_Lowercase[] = { - 602, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00df, 0x00f6, - 0x00f8, 0x00ff, - 0x0101, 0x0101, - 0x0103, 0x0103, - 0x0105, 0x0105, - 0x0107, 0x0107, - 0x0109, 0x0109, - 0x010b, 0x010b, - 0x010d, 0x010d, - 0x010f, 0x010f, - 0x0111, 0x0111, - 0x0113, 0x0113, - 0x0115, 0x0115, - 0x0117, 0x0117, - 0x0119, 0x0119, - 0x011b, 0x011b, - 0x011d, 0x011d, - 0x011f, 0x011f, - 0x0121, 0x0121, - 0x0123, 0x0123, - 0x0125, 0x0125, - 0x0127, 0x0127, - 0x0129, 0x0129, - 0x012b, 0x012b, - 0x012d, 0x012d, - 0x012f, 0x012f, - 0x0131, 0x0131, - 0x0133, 0x0133, - 0x0135, 0x0135, - 0x0137, 0x0138, - 0x013a, 0x013a, - 0x013c, 0x013c, - 0x013e, 0x013e, - 0x0140, 0x0140, - 0x0142, 0x0142, - 0x0144, 0x0144, - 0x0146, 0x0146, - 0x0148, 0x0149, - 0x014b, 0x014b, - 0x014d, 0x014d, - 0x014f, 0x014f, - 0x0151, 0x0151, - 0x0153, 0x0153, - 0x0155, 0x0155, - 0x0157, 0x0157, - 0x0159, 0x0159, - 0x015b, 0x015b, - 0x015d, 0x015d, - 0x015f, 0x015f, - 0x0161, 0x0161, - 0x0163, 0x0163, - 0x0165, 0x0165, - 0x0167, 0x0167, - 0x0169, 0x0169, - 0x016b, 0x016b, - 0x016d, 0x016d, - 0x016f, 0x016f, - 0x0171, 0x0171, - 0x0173, 0x0173, - 0x0175, 0x0175, - 0x0177, 0x0177, - 0x017a, 0x017a, - 0x017c, 0x017c, - 0x017e, 0x0180, - 0x0183, 0x0183, - 0x0185, 0x0185, - 0x0188, 0x0188, - 0x018c, 0x018d, - 0x0192, 0x0192, - 0x0195, 0x0195, - 0x0199, 0x019b, - 0x019e, 0x019e, - 0x01a1, 0x01a1, - 0x01a3, 0x01a3, - 0x01a5, 0x01a5, - 0x01a8, 0x01a8, - 0x01aa, 0x01ab, - 0x01ad, 0x01ad, - 0x01b0, 0x01b0, - 0x01b4, 0x01b4, - 0x01b6, 0x01b6, - 0x01b9, 0x01ba, - 0x01bd, 0x01bf, - 0x01c6, 0x01c6, - 0x01c9, 0x01c9, - 0x01cc, 0x01cc, - 0x01ce, 0x01ce, - 0x01d0, 0x01d0, - 0x01d2, 0x01d2, - 0x01d4, 0x01d4, - 0x01d6, 0x01d6, - 0x01d8, 0x01d8, - 0x01da, 0x01da, - 0x01dc, 0x01dd, - 0x01df, 0x01df, - 0x01e1, 0x01e1, - 0x01e3, 0x01e3, - 0x01e5, 0x01e5, - 0x01e7, 0x01e7, - 0x01e9, 0x01e9, - 0x01eb, 0x01eb, - 0x01ed, 0x01ed, - 0x01ef, 0x01f0, - 0x01f3, 0x01f3, - 0x01f5, 0x01f5, - 0x01f9, 0x01f9, - 0x01fb, 0x01fb, - 0x01fd, 0x01fd, - 0x01ff, 0x01ff, - 0x0201, 0x0201, - 0x0203, 0x0203, - 0x0205, 0x0205, - 0x0207, 0x0207, - 0x0209, 0x0209, - 0x020b, 0x020b, - 0x020d, 0x020d, - 0x020f, 0x020f, - 0x0211, 0x0211, - 0x0213, 0x0213, - 0x0215, 0x0215, - 0x0217, 0x0217, - 0x0219, 0x0219, - 0x021b, 0x021b, - 0x021d, 0x021d, - 0x021f, 0x021f, - 0x0221, 0x0221, - 0x0223, 0x0223, - 0x0225, 0x0225, - 0x0227, 0x0227, - 0x0229, 0x0229, - 0x022b, 0x022b, - 0x022d, 0x022d, - 0x022f, 0x022f, - 0x0231, 0x0231, - 0x0233, 0x0239, - 0x023c, 0x023c, - 0x023f, 0x0240, - 0x0242, 0x0242, - 0x0247, 0x0247, - 0x0249, 0x0249, - 0x024b, 0x024b, - 0x024d, 0x024d, - 0x024f, 0x0293, - 0x0295, 0x02b8, - 0x02c0, 0x02c1, - 0x02e0, 0x02e4, - 0x0345, 0x0345, - 0x0371, 0x0371, - 0x0373, 0x0373, - 0x0377, 0x0377, - 0x037a, 0x037d, - 0x0390, 0x0390, - 0x03ac, 0x03ce, - 0x03d0, 0x03d1, - 0x03d5, 0x03d7, - 0x03d9, 0x03d9, - 0x03db, 0x03db, - 0x03dd, 0x03dd, - 0x03df, 0x03df, - 0x03e1, 0x03e1, - 0x03e3, 0x03e3, - 0x03e5, 0x03e5, - 0x03e7, 0x03e7, - 0x03e9, 0x03e9, - 0x03eb, 0x03eb, - 0x03ed, 0x03ed, - 0x03ef, 0x03f3, - 0x03f5, 0x03f5, - 0x03f8, 0x03f8, - 0x03fb, 0x03fc, - 0x0430, 0x045f, - 0x0461, 0x0461, - 0x0463, 0x0463, - 0x0465, 0x0465, - 0x0467, 0x0467, - 0x0469, 0x0469, - 0x046b, 0x046b, - 0x046d, 0x046d, - 0x046f, 0x046f, - 0x0471, 0x0471, - 0x0473, 0x0473, - 0x0475, 0x0475, - 0x0477, 0x0477, - 0x0479, 0x0479, - 0x047b, 0x047b, - 0x047d, 0x047d, - 0x047f, 0x047f, - 0x0481, 0x0481, - 0x048b, 0x048b, - 0x048d, 0x048d, - 0x048f, 0x048f, - 0x0491, 0x0491, - 0x0493, 0x0493, - 0x0495, 0x0495, - 0x0497, 0x0497, - 0x0499, 0x0499, - 0x049b, 0x049b, - 0x049d, 0x049d, - 0x049f, 0x049f, - 0x04a1, 0x04a1, - 0x04a3, 0x04a3, - 0x04a5, 0x04a5, - 0x04a7, 0x04a7, - 0x04a9, 0x04a9, - 0x04ab, 0x04ab, - 0x04ad, 0x04ad, - 0x04af, 0x04af, - 0x04b1, 0x04b1, - 0x04b3, 0x04b3, - 0x04b5, 0x04b5, - 0x04b7, 0x04b7, - 0x04b9, 0x04b9, - 0x04bb, 0x04bb, - 0x04bd, 0x04bd, - 0x04bf, 0x04bf, - 0x04c2, 0x04c2, - 0x04c4, 0x04c4, - 0x04c6, 0x04c6, - 0x04c8, 0x04c8, - 0x04ca, 0x04ca, - 0x04cc, 0x04cc, - 0x04ce, 0x04cf, - 0x04d1, 0x04d1, - 0x04d3, 0x04d3, - 0x04d5, 0x04d5, - 0x04d7, 0x04d7, - 0x04d9, 0x04d9, - 0x04db, 0x04db, - 0x04dd, 0x04dd, - 0x04df, 0x04df, - 0x04e1, 0x04e1, - 0x04e3, 0x04e3, - 0x04e5, 0x04e5, - 0x04e7, 0x04e7, - 0x04e9, 0x04e9, - 0x04eb, 0x04eb, - 0x04ed, 0x04ed, - 0x04ef, 0x04ef, - 0x04f1, 0x04f1, - 0x04f3, 0x04f3, - 0x04f5, 0x04f5, - 0x04f7, 0x04f7, - 0x04f9, 0x04f9, - 0x04fb, 0x04fb, - 0x04fd, 0x04fd, - 0x04ff, 0x04ff, - 0x0501, 0x0501, - 0x0503, 0x0503, - 0x0505, 0x0505, - 0x0507, 0x0507, - 0x0509, 0x0509, - 0x050b, 0x050b, - 0x050d, 0x050d, - 0x050f, 0x050f, - 0x0511, 0x0511, - 0x0513, 0x0513, - 0x0515, 0x0515, - 0x0517, 0x0517, - 0x0519, 0x0519, - 0x051b, 0x051b, - 0x051d, 0x051d, - 0x051f, 0x051f, - 0x0521, 0x0521, - 0x0523, 0x0523, - 0x0525, 0x0525, - 0x0561, 0x0587, - 0x1d00, 0x1dbf, - 0x1e01, 0x1e01, - 0x1e03, 0x1e03, - 0x1e05, 0x1e05, - 0x1e07, 0x1e07, - 0x1e09, 0x1e09, - 0x1e0b, 0x1e0b, - 0x1e0d, 0x1e0d, - 0x1e0f, 0x1e0f, - 0x1e11, 0x1e11, - 0x1e13, 0x1e13, - 0x1e15, 0x1e15, - 0x1e17, 0x1e17, - 0x1e19, 0x1e19, - 0x1e1b, 0x1e1b, - 0x1e1d, 0x1e1d, - 0x1e1f, 0x1e1f, - 0x1e21, 0x1e21, - 0x1e23, 0x1e23, - 0x1e25, 0x1e25, - 0x1e27, 0x1e27, - 0x1e29, 0x1e29, - 0x1e2b, 0x1e2b, - 0x1e2d, 0x1e2d, - 0x1e2f, 0x1e2f, - 0x1e31, 0x1e31, - 0x1e33, 0x1e33, - 0x1e35, 0x1e35, - 0x1e37, 0x1e37, - 0x1e39, 0x1e39, - 0x1e3b, 0x1e3b, - 0x1e3d, 0x1e3d, - 0x1e3f, 0x1e3f, - 0x1e41, 0x1e41, - 0x1e43, 0x1e43, - 0x1e45, 0x1e45, - 0x1e47, 0x1e47, - 0x1e49, 0x1e49, - 0x1e4b, 0x1e4b, - 0x1e4d, 0x1e4d, - 0x1e4f, 0x1e4f, - 0x1e51, 0x1e51, - 0x1e53, 0x1e53, - 0x1e55, 0x1e55, - 0x1e57, 0x1e57, - 0x1e59, 0x1e59, - 0x1e5b, 0x1e5b, - 0x1e5d, 0x1e5d, - 0x1e5f, 0x1e5f, - 0x1e61, 0x1e61, - 0x1e63, 0x1e63, - 0x1e65, 0x1e65, - 0x1e67, 0x1e67, - 0x1e69, 0x1e69, - 0x1e6b, 0x1e6b, - 0x1e6d, 0x1e6d, - 0x1e6f, 0x1e6f, - 0x1e71, 0x1e71, - 0x1e73, 0x1e73, - 0x1e75, 0x1e75, - 0x1e77, 0x1e77, - 0x1e79, 0x1e79, - 0x1e7b, 0x1e7b, - 0x1e7d, 0x1e7d, - 0x1e7f, 0x1e7f, - 0x1e81, 0x1e81, - 0x1e83, 0x1e83, - 0x1e85, 0x1e85, - 0x1e87, 0x1e87, - 0x1e89, 0x1e89, - 0x1e8b, 0x1e8b, - 0x1e8d, 0x1e8d, - 0x1e8f, 0x1e8f, - 0x1e91, 0x1e91, - 0x1e93, 0x1e93, - 0x1e95, 0x1e9d, - 0x1e9f, 0x1e9f, - 0x1ea1, 0x1ea1, - 0x1ea3, 0x1ea3, - 0x1ea5, 0x1ea5, - 0x1ea7, 0x1ea7, - 0x1ea9, 0x1ea9, - 0x1eab, 0x1eab, - 0x1ead, 0x1ead, - 0x1eaf, 0x1eaf, - 0x1eb1, 0x1eb1, - 0x1eb3, 0x1eb3, - 0x1eb5, 0x1eb5, - 0x1eb7, 0x1eb7, - 0x1eb9, 0x1eb9, - 0x1ebb, 0x1ebb, - 0x1ebd, 0x1ebd, - 0x1ebf, 0x1ebf, - 0x1ec1, 0x1ec1, - 0x1ec3, 0x1ec3, - 0x1ec5, 0x1ec5, - 0x1ec7, 0x1ec7, - 0x1ec9, 0x1ec9, - 0x1ecb, 0x1ecb, - 0x1ecd, 0x1ecd, - 0x1ecf, 0x1ecf, - 0x1ed1, 0x1ed1, - 0x1ed3, 0x1ed3, - 0x1ed5, 0x1ed5, - 0x1ed7, 0x1ed7, - 0x1ed9, 0x1ed9, - 0x1edb, 0x1edb, - 0x1edd, 0x1edd, - 0x1edf, 0x1edf, - 0x1ee1, 0x1ee1, - 0x1ee3, 0x1ee3, - 0x1ee5, 0x1ee5, - 0x1ee7, 0x1ee7, - 0x1ee9, 0x1ee9, - 0x1eeb, 0x1eeb, - 0x1eed, 0x1eed, - 0x1eef, 0x1eef, - 0x1ef1, 0x1ef1, - 0x1ef3, 0x1ef3, - 0x1ef5, 0x1ef5, - 0x1ef7, 0x1ef7, - 0x1ef9, 0x1ef9, - 0x1efb, 0x1efb, - 0x1efd, 0x1efd, - 0x1eff, 0x1f07, - 0x1f10, 0x1f15, - 0x1f20, 0x1f27, - 0x1f30, 0x1f37, - 0x1f40, 0x1f45, - 0x1f50, 0x1f57, - 0x1f60, 0x1f67, - 0x1f70, 0x1f7d, - 0x1f80, 0x1f87, - 0x1f90, 0x1f97, - 0x1fa0, 0x1fa7, - 0x1fb0, 0x1fb4, - 0x1fb6, 0x1fb7, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fc7, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fd7, - 0x1fe0, 0x1fe7, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ff7, - 0x2090, 0x2094, - 0x210a, 0x210a, - 0x210e, 0x210f, - 0x2113, 0x2113, - 0x212f, 0x212f, - 0x2134, 0x2134, - 0x2139, 0x2139, - 0x213c, 0x213d, - 0x2146, 0x2149, - 0x214e, 0x214e, - 0x2170, 0x217f, - 0x2184, 0x2184, - 0x24d0, 0x24e9, - 0x2c30, 0x2c5e, - 0x2c61, 0x2c61, - 0x2c65, 0x2c66, - 0x2c68, 0x2c68, - 0x2c6a, 0x2c6a, - 0x2c6c, 0x2c6c, - 0x2c71, 0x2c71, - 0x2c73, 0x2c74, - 0x2c76, 0x2c7d, - 0x2c81, 0x2c81, - 0x2c83, 0x2c83, - 0x2c85, 0x2c85, - 0x2c87, 0x2c87, - 0x2c89, 0x2c89, - 0x2c8b, 0x2c8b, - 0x2c8d, 0x2c8d, - 0x2c8f, 0x2c8f, - 0x2c91, 0x2c91, - 0x2c93, 0x2c93, - 0x2c95, 0x2c95, - 0x2c97, 0x2c97, - 0x2c99, 0x2c99, - 0x2c9b, 0x2c9b, - 0x2c9d, 0x2c9d, - 0x2c9f, 0x2c9f, - 0x2ca1, 0x2ca1, - 0x2ca3, 0x2ca3, - 0x2ca5, 0x2ca5, - 0x2ca7, 0x2ca7, - 0x2ca9, 0x2ca9, - 0x2cab, 0x2cab, - 0x2cad, 0x2cad, - 0x2caf, 0x2caf, - 0x2cb1, 0x2cb1, - 0x2cb3, 0x2cb3, - 0x2cb5, 0x2cb5, - 0x2cb7, 0x2cb7, - 0x2cb9, 0x2cb9, - 0x2cbb, 0x2cbb, - 0x2cbd, 0x2cbd, - 0x2cbf, 0x2cbf, - 0x2cc1, 0x2cc1, - 0x2cc3, 0x2cc3, - 0x2cc5, 0x2cc5, - 0x2cc7, 0x2cc7, - 0x2cc9, 0x2cc9, - 0x2ccb, 0x2ccb, - 0x2ccd, 0x2ccd, - 0x2ccf, 0x2ccf, - 0x2cd1, 0x2cd1, - 0x2cd3, 0x2cd3, - 0x2cd5, 0x2cd5, - 0x2cd7, 0x2cd7, - 0x2cd9, 0x2cd9, - 0x2cdb, 0x2cdb, - 0x2cdd, 0x2cdd, - 0x2cdf, 0x2cdf, - 0x2ce1, 0x2ce1, - 0x2ce3, 0x2ce4, - 0x2cec, 0x2cec, - 0x2cee, 0x2cee, - 0x2d00, 0x2d25, - 0xa641, 0xa641, - 0xa643, 0xa643, - 0xa645, 0xa645, - 0xa647, 0xa647, - 0xa649, 0xa649, - 0xa64b, 0xa64b, - 0xa64d, 0xa64d, - 0xa64f, 0xa64f, - 0xa651, 0xa651, - 0xa653, 0xa653, - 0xa655, 0xa655, - 0xa657, 0xa657, - 0xa659, 0xa659, - 0xa65b, 0xa65b, - 0xa65d, 0xa65d, - 0xa65f, 0xa65f, - 0xa663, 0xa663, - 0xa665, 0xa665, - 0xa667, 0xa667, - 0xa669, 0xa669, - 0xa66b, 0xa66b, - 0xa66d, 0xa66d, - 0xa681, 0xa681, - 0xa683, 0xa683, - 0xa685, 0xa685, - 0xa687, 0xa687, - 0xa689, 0xa689, - 0xa68b, 0xa68b, - 0xa68d, 0xa68d, - 0xa68f, 0xa68f, - 0xa691, 0xa691, - 0xa693, 0xa693, - 0xa695, 0xa695, - 0xa697, 0xa697, - 0xa723, 0xa723, - 0xa725, 0xa725, - 0xa727, 0xa727, - 0xa729, 0xa729, - 0xa72b, 0xa72b, - 0xa72d, 0xa72d, - 0xa72f, 0xa731, - 0xa733, 0xa733, - 0xa735, 0xa735, - 0xa737, 0xa737, - 0xa739, 0xa739, - 0xa73b, 0xa73b, - 0xa73d, 0xa73d, - 0xa73f, 0xa73f, - 0xa741, 0xa741, - 0xa743, 0xa743, - 0xa745, 0xa745, - 0xa747, 0xa747, - 0xa749, 0xa749, - 0xa74b, 0xa74b, - 0xa74d, 0xa74d, - 0xa74f, 0xa74f, - 0xa751, 0xa751, - 0xa753, 0xa753, - 0xa755, 0xa755, - 0xa757, 0xa757, - 0xa759, 0xa759, - 0xa75b, 0xa75b, - 0xa75d, 0xa75d, - 0xa75f, 0xa75f, - 0xa761, 0xa761, - 0xa763, 0xa763, - 0xa765, 0xa765, - 0xa767, 0xa767, - 0xa769, 0xa769, - 0xa76b, 0xa76b, - 0xa76d, 0xa76d, - 0xa76f, 0xa778, - 0xa77a, 0xa77a, - 0xa77c, 0xa77c, - 0xa77f, 0xa77f, - 0xa781, 0xa781, - 0xa783, 0xa783, - 0xa785, 0xa785, - 0xa787, 0xa787, - 0xa78c, 0xa78c, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff41, 0xff5a, - 0x10428, 0x1044f, - 0x1d41a, 0x1d433, - 0x1d44e, 0x1d454, - 0x1d456, 0x1d467, - 0x1d482, 0x1d49b, - 0x1d4b6, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d4cf, - 0x1d4ea, 0x1d503, - 0x1d51e, 0x1d537, - 0x1d552, 0x1d56b, - 0x1d586, 0x1d59f, - 0x1d5ba, 0x1d5d3, - 0x1d5ee, 0x1d607, - 0x1d622, 0x1d63b, - 0x1d656, 0x1d66f, - 0x1d68a, 0x1d6a5, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6e1, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d71b, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d755, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d78f, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7c9, - 0x1d7cb, 0x1d7cb, -}; /* CR_Lowercase */ - -/* 'Uppercase': Derived Property */ -static const OnigCodePoint CR_Uppercase[] = { - 596, - 0x0041, 0x005a, - 0x00c0, 0x00d6, - 0x00d8, 0x00de, - 0x0100, 0x0100, - 0x0102, 0x0102, - 0x0104, 0x0104, - 0x0106, 0x0106, - 0x0108, 0x0108, - 0x010a, 0x010a, - 0x010c, 0x010c, - 0x010e, 0x010e, - 0x0110, 0x0110, - 0x0112, 0x0112, - 0x0114, 0x0114, - 0x0116, 0x0116, - 0x0118, 0x0118, - 0x011a, 0x011a, - 0x011c, 0x011c, - 0x011e, 0x011e, - 0x0120, 0x0120, - 0x0122, 0x0122, - 0x0124, 0x0124, - 0x0126, 0x0126, - 0x0128, 0x0128, - 0x012a, 0x012a, - 0x012c, 0x012c, - 0x012e, 0x012e, - 0x0130, 0x0130, - 0x0132, 0x0132, - 0x0134, 0x0134, - 0x0136, 0x0136, - 0x0139, 0x0139, - 0x013b, 0x013b, - 0x013d, 0x013d, - 0x013f, 0x013f, - 0x0141, 0x0141, - 0x0143, 0x0143, - 0x0145, 0x0145, - 0x0147, 0x0147, - 0x014a, 0x014a, - 0x014c, 0x014c, - 0x014e, 0x014e, - 0x0150, 0x0150, - 0x0152, 0x0152, - 0x0154, 0x0154, - 0x0156, 0x0156, - 0x0158, 0x0158, - 0x015a, 0x015a, - 0x015c, 0x015c, - 0x015e, 0x015e, - 0x0160, 0x0160, - 0x0162, 0x0162, - 0x0164, 0x0164, - 0x0166, 0x0166, - 0x0168, 0x0168, - 0x016a, 0x016a, - 0x016c, 0x016c, - 0x016e, 0x016e, - 0x0170, 0x0170, - 0x0172, 0x0172, - 0x0174, 0x0174, - 0x0176, 0x0176, - 0x0178, 0x0179, - 0x017b, 0x017b, - 0x017d, 0x017d, - 0x0181, 0x0182, - 0x0184, 0x0184, - 0x0186, 0x0187, - 0x0189, 0x018b, - 0x018e, 0x0191, - 0x0193, 0x0194, - 0x0196, 0x0198, - 0x019c, 0x019d, - 0x019f, 0x01a0, - 0x01a2, 0x01a2, - 0x01a4, 0x01a4, - 0x01a6, 0x01a7, - 0x01a9, 0x01a9, - 0x01ac, 0x01ac, - 0x01ae, 0x01af, - 0x01b1, 0x01b3, - 0x01b5, 0x01b5, - 0x01b7, 0x01b8, - 0x01bc, 0x01bc, - 0x01c4, 0x01c4, - 0x01c7, 0x01c7, - 0x01ca, 0x01ca, - 0x01cd, 0x01cd, - 0x01cf, 0x01cf, - 0x01d1, 0x01d1, - 0x01d3, 0x01d3, - 0x01d5, 0x01d5, - 0x01d7, 0x01d7, - 0x01d9, 0x01d9, - 0x01db, 0x01db, - 0x01de, 0x01de, - 0x01e0, 0x01e0, - 0x01e2, 0x01e2, - 0x01e4, 0x01e4, - 0x01e6, 0x01e6, - 0x01e8, 0x01e8, - 0x01ea, 0x01ea, - 0x01ec, 0x01ec, - 0x01ee, 0x01ee, - 0x01f1, 0x01f1, - 0x01f4, 0x01f4, - 0x01f6, 0x01f8, - 0x01fa, 0x01fa, - 0x01fc, 0x01fc, - 0x01fe, 0x01fe, - 0x0200, 0x0200, - 0x0202, 0x0202, - 0x0204, 0x0204, - 0x0206, 0x0206, - 0x0208, 0x0208, - 0x020a, 0x020a, - 0x020c, 0x020c, - 0x020e, 0x020e, - 0x0210, 0x0210, - 0x0212, 0x0212, - 0x0214, 0x0214, - 0x0216, 0x0216, - 0x0218, 0x0218, - 0x021a, 0x021a, - 0x021c, 0x021c, - 0x021e, 0x021e, - 0x0220, 0x0220, - 0x0222, 0x0222, - 0x0224, 0x0224, - 0x0226, 0x0226, - 0x0228, 0x0228, - 0x022a, 0x022a, - 0x022c, 0x022c, - 0x022e, 0x022e, - 0x0230, 0x0230, - 0x0232, 0x0232, - 0x023a, 0x023b, - 0x023d, 0x023e, - 0x0241, 0x0241, - 0x0243, 0x0246, - 0x0248, 0x0248, - 0x024a, 0x024a, - 0x024c, 0x024c, - 0x024e, 0x024e, - 0x0370, 0x0370, - 0x0372, 0x0372, - 0x0376, 0x0376, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x038f, - 0x0391, 0x03a1, - 0x03a3, 0x03ab, - 0x03cf, 0x03cf, - 0x03d2, 0x03d4, - 0x03d8, 0x03d8, - 0x03da, 0x03da, - 0x03dc, 0x03dc, - 0x03de, 0x03de, - 0x03e0, 0x03e0, - 0x03e2, 0x03e2, - 0x03e4, 0x03e4, - 0x03e6, 0x03e6, - 0x03e8, 0x03e8, - 0x03ea, 0x03ea, - 0x03ec, 0x03ec, - 0x03ee, 0x03ee, - 0x03f4, 0x03f4, - 0x03f7, 0x03f7, - 0x03f9, 0x03fa, - 0x03fd, 0x042f, - 0x0460, 0x0460, - 0x0462, 0x0462, - 0x0464, 0x0464, - 0x0466, 0x0466, - 0x0468, 0x0468, - 0x046a, 0x046a, - 0x046c, 0x046c, - 0x046e, 0x046e, - 0x0470, 0x0470, - 0x0472, 0x0472, - 0x0474, 0x0474, - 0x0476, 0x0476, - 0x0478, 0x0478, - 0x047a, 0x047a, - 0x047c, 0x047c, - 0x047e, 0x047e, - 0x0480, 0x0480, - 0x048a, 0x048a, - 0x048c, 0x048c, - 0x048e, 0x048e, - 0x0490, 0x0490, - 0x0492, 0x0492, - 0x0494, 0x0494, - 0x0496, 0x0496, - 0x0498, 0x0498, - 0x049a, 0x049a, - 0x049c, 0x049c, - 0x049e, 0x049e, - 0x04a0, 0x04a0, - 0x04a2, 0x04a2, - 0x04a4, 0x04a4, - 0x04a6, 0x04a6, - 0x04a8, 0x04a8, - 0x04aa, 0x04aa, - 0x04ac, 0x04ac, - 0x04ae, 0x04ae, - 0x04b0, 0x04b0, - 0x04b2, 0x04b2, - 0x04b4, 0x04b4, - 0x04b6, 0x04b6, - 0x04b8, 0x04b8, - 0x04ba, 0x04ba, - 0x04bc, 0x04bc, - 0x04be, 0x04be, - 0x04c0, 0x04c1, - 0x04c3, 0x04c3, - 0x04c5, 0x04c5, - 0x04c7, 0x04c7, - 0x04c9, 0x04c9, - 0x04cb, 0x04cb, - 0x04cd, 0x04cd, - 0x04d0, 0x04d0, - 0x04d2, 0x04d2, - 0x04d4, 0x04d4, - 0x04d6, 0x04d6, - 0x04d8, 0x04d8, - 0x04da, 0x04da, - 0x04dc, 0x04dc, - 0x04de, 0x04de, - 0x04e0, 0x04e0, - 0x04e2, 0x04e2, - 0x04e4, 0x04e4, - 0x04e6, 0x04e6, - 0x04e8, 0x04e8, - 0x04ea, 0x04ea, - 0x04ec, 0x04ec, - 0x04ee, 0x04ee, - 0x04f0, 0x04f0, - 0x04f2, 0x04f2, - 0x04f4, 0x04f4, - 0x04f6, 0x04f6, - 0x04f8, 0x04f8, - 0x04fa, 0x04fa, - 0x04fc, 0x04fc, - 0x04fe, 0x04fe, - 0x0500, 0x0500, - 0x0502, 0x0502, - 0x0504, 0x0504, - 0x0506, 0x0506, - 0x0508, 0x0508, - 0x050a, 0x050a, - 0x050c, 0x050c, - 0x050e, 0x050e, - 0x0510, 0x0510, - 0x0512, 0x0512, - 0x0514, 0x0514, - 0x0516, 0x0516, - 0x0518, 0x0518, - 0x051a, 0x051a, - 0x051c, 0x051c, - 0x051e, 0x051e, - 0x0520, 0x0520, - 0x0522, 0x0522, - 0x0524, 0x0524, - 0x0531, 0x0556, - 0x10a0, 0x10c5, - 0x1e00, 0x1e00, - 0x1e02, 0x1e02, - 0x1e04, 0x1e04, - 0x1e06, 0x1e06, - 0x1e08, 0x1e08, - 0x1e0a, 0x1e0a, - 0x1e0c, 0x1e0c, - 0x1e0e, 0x1e0e, - 0x1e10, 0x1e10, - 0x1e12, 0x1e12, - 0x1e14, 0x1e14, - 0x1e16, 0x1e16, - 0x1e18, 0x1e18, - 0x1e1a, 0x1e1a, - 0x1e1c, 0x1e1c, - 0x1e1e, 0x1e1e, - 0x1e20, 0x1e20, - 0x1e22, 0x1e22, - 0x1e24, 0x1e24, - 0x1e26, 0x1e26, - 0x1e28, 0x1e28, - 0x1e2a, 0x1e2a, - 0x1e2c, 0x1e2c, - 0x1e2e, 0x1e2e, - 0x1e30, 0x1e30, - 0x1e32, 0x1e32, - 0x1e34, 0x1e34, - 0x1e36, 0x1e36, - 0x1e38, 0x1e38, - 0x1e3a, 0x1e3a, - 0x1e3c, 0x1e3c, - 0x1e3e, 0x1e3e, - 0x1e40, 0x1e40, - 0x1e42, 0x1e42, - 0x1e44, 0x1e44, - 0x1e46, 0x1e46, - 0x1e48, 0x1e48, - 0x1e4a, 0x1e4a, - 0x1e4c, 0x1e4c, - 0x1e4e, 0x1e4e, - 0x1e50, 0x1e50, - 0x1e52, 0x1e52, - 0x1e54, 0x1e54, - 0x1e56, 0x1e56, - 0x1e58, 0x1e58, - 0x1e5a, 0x1e5a, - 0x1e5c, 0x1e5c, - 0x1e5e, 0x1e5e, - 0x1e60, 0x1e60, - 0x1e62, 0x1e62, - 0x1e64, 0x1e64, - 0x1e66, 0x1e66, - 0x1e68, 0x1e68, - 0x1e6a, 0x1e6a, - 0x1e6c, 0x1e6c, - 0x1e6e, 0x1e6e, - 0x1e70, 0x1e70, - 0x1e72, 0x1e72, - 0x1e74, 0x1e74, - 0x1e76, 0x1e76, - 0x1e78, 0x1e78, - 0x1e7a, 0x1e7a, - 0x1e7c, 0x1e7c, - 0x1e7e, 0x1e7e, - 0x1e80, 0x1e80, - 0x1e82, 0x1e82, - 0x1e84, 0x1e84, - 0x1e86, 0x1e86, - 0x1e88, 0x1e88, - 0x1e8a, 0x1e8a, - 0x1e8c, 0x1e8c, - 0x1e8e, 0x1e8e, - 0x1e90, 0x1e90, - 0x1e92, 0x1e92, - 0x1e94, 0x1e94, - 0x1e9e, 0x1e9e, - 0x1ea0, 0x1ea0, - 0x1ea2, 0x1ea2, - 0x1ea4, 0x1ea4, - 0x1ea6, 0x1ea6, - 0x1ea8, 0x1ea8, - 0x1eaa, 0x1eaa, - 0x1eac, 0x1eac, - 0x1eae, 0x1eae, - 0x1eb0, 0x1eb0, - 0x1eb2, 0x1eb2, - 0x1eb4, 0x1eb4, - 0x1eb6, 0x1eb6, - 0x1eb8, 0x1eb8, - 0x1eba, 0x1eba, - 0x1ebc, 0x1ebc, - 0x1ebe, 0x1ebe, - 0x1ec0, 0x1ec0, - 0x1ec2, 0x1ec2, - 0x1ec4, 0x1ec4, - 0x1ec6, 0x1ec6, - 0x1ec8, 0x1ec8, - 0x1eca, 0x1eca, - 0x1ecc, 0x1ecc, - 0x1ece, 0x1ece, - 0x1ed0, 0x1ed0, - 0x1ed2, 0x1ed2, - 0x1ed4, 0x1ed4, - 0x1ed6, 0x1ed6, - 0x1ed8, 0x1ed8, - 0x1eda, 0x1eda, - 0x1edc, 0x1edc, - 0x1ede, 0x1ede, - 0x1ee0, 0x1ee0, - 0x1ee2, 0x1ee2, - 0x1ee4, 0x1ee4, - 0x1ee6, 0x1ee6, - 0x1ee8, 0x1ee8, - 0x1eea, 0x1eea, - 0x1eec, 0x1eec, - 0x1eee, 0x1eee, - 0x1ef0, 0x1ef0, - 0x1ef2, 0x1ef2, - 0x1ef4, 0x1ef4, - 0x1ef6, 0x1ef6, - 0x1ef8, 0x1ef8, - 0x1efa, 0x1efa, - 0x1efc, 0x1efc, - 0x1efe, 0x1efe, - 0x1f08, 0x1f0f, - 0x1f18, 0x1f1d, - 0x1f28, 0x1f2f, - 0x1f38, 0x1f3f, - 0x1f48, 0x1f4d, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f5f, - 0x1f68, 0x1f6f, - 0x1fb8, 0x1fbb, - 0x1fc8, 0x1fcb, - 0x1fd8, 0x1fdb, - 0x1fe8, 0x1fec, - 0x1ff8, 0x1ffb, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210b, 0x210d, - 0x2110, 0x2112, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x2130, 0x2133, - 0x213e, 0x213f, - 0x2145, 0x2145, - 0x2160, 0x216f, - 0x2183, 0x2183, - 0x24b6, 0x24cf, - 0x2c00, 0x2c2e, - 0x2c60, 0x2c60, - 0x2c62, 0x2c64, - 0x2c67, 0x2c67, - 0x2c69, 0x2c69, - 0x2c6b, 0x2c6b, - 0x2c6d, 0x2c70, - 0x2c72, 0x2c72, - 0x2c75, 0x2c75, - 0x2c7e, 0x2c80, - 0x2c82, 0x2c82, - 0x2c84, 0x2c84, - 0x2c86, 0x2c86, - 0x2c88, 0x2c88, - 0x2c8a, 0x2c8a, - 0x2c8c, 0x2c8c, - 0x2c8e, 0x2c8e, - 0x2c90, 0x2c90, - 0x2c92, 0x2c92, - 0x2c94, 0x2c94, - 0x2c96, 0x2c96, - 0x2c98, 0x2c98, - 0x2c9a, 0x2c9a, - 0x2c9c, 0x2c9c, - 0x2c9e, 0x2c9e, - 0x2ca0, 0x2ca0, - 0x2ca2, 0x2ca2, - 0x2ca4, 0x2ca4, - 0x2ca6, 0x2ca6, - 0x2ca8, 0x2ca8, - 0x2caa, 0x2caa, - 0x2cac, 0x2cac, - 0x2cae, 0x2cae, - 0x2cb0, 0x2cb0, - 0x2cb2, 0x2cb2, - 0x2cb4, 0x2cb4, - 0x2cb6, 0x2cb6, - 0x2cb8, 0x2cb8, - 0x2cba, 0x2cba, - 0x2cbc, 0x2cbc, - 0x2cbe, 0x2cbe, - 0x2cc0, 0x2cc0, - 0x2cc2, 0x2cc2, - 0x2cc4, 0x2cc4, - 0x2cc6, 0x2cc6, - 0x2cc8, 0x2cc8, - 0x2cca, 0x2cca, - 0x2ccc, 0x2ccc, - 0x2cce, 0x2cce, - 0x2cd0, 0x2cd0, - 0x2cd2, 0x2cd2, - 0x2cd4, 0x2cd4, - 0x2cd6, 0x2cd6, - 0x2cd8, 0x2cd8, - 0x2cda, 0x2cda, - 0x2cdc, 0x2cdc, - 0x2cde, 0x2cde, - 0x2ce0, 0x2ce0, - 0x2ce2, 0x2ce2, - 0x2ceb, 0x2ceb, - 0x2ced, 0x2ced, - 0xa640, 0xa640, - 0xa642, 0xa642, - 0xa644, 0xa644, - 0xa646, 0xa646, - 0xa648, 0xa648, - 0xa64a, 0xa64a, - 0xa64c, 0xa64c, - 0xa64e, 0xa64e, - 0xa650, 0xa650, - 0xa652, 0xa652, - 0xa654, 0xa654, - 0xa656, 0xa656, - 0xa658, 0xa658, - 0xa65a, 0xa65a, - 0xa65c, 0xa65c, - 0xa65e, 0xa65e, - 0xa662, 0xa662, - 0xa664, 0xa664, - 0xa666, 0xa666, - 0xa668, 0xa668, - 0xa66a, 0xa66a, - 0xa66c, 0xa66c, - 0xa680, 0xa680, - 0xa682, 0xa682, - 0xa684, 0xa684, - 0xa686, 0xa686, - 0xa688, 0xa688, - 0xa68a, 0xa68a, - 0xa68c, 0xa68c, - 0xa68e, 0xa68e, - 0xa690, 0xa690, - 0xa692, 0xa692, - 0xa694, 0xa694, - 0xa696, 0xa696, - 0xa722, 0xa722, - 0xa724, 0xa724, - 0xa726, 0xa726, - 0xa728, 0xa728, - 0xa72a, 0xa72a, - 0xa72c, 0xa72c, - 0xa72e, 0xa72e, - 0xa732, 0xa732, - 0xa734, 0xa734, - 0xa736, 0xa736, - 0xa738, 0xa738, - 0xa73a, 0xa73a, - 0xa73c, 0xa73c, - 0xa73e, 0xa73e, - 0xa740, 0xa740, - 0xa742, 0xa742, - 0xa744, 0xa744, - 0xa746, 0xa746, - 0xa748, 0xa748, - 0xa74a, 0xa74a, - 0xa74c, 0xa74c, - 0xa74e, 0xa74e, - 0xa750, 0xa750, - 0xa752, 0xa752, - 0xa754, 0xa754, - 0xa756, 0xa756, - 0xa758, 0xa758, - 0xa75a, 0xa75a, - 0xa75c, 0xa75c, - 0xa75e, 0xa75e, - 0xa760, 0xa760, - 0xa762, 0xa762, - 0xa764, 0xa764, - 0xa766, 0xa766, - 0xa768, 0xa768, - 0xa76a, 0xa76a, - 0xa76c, 0xa76c, - 0xa76e, 0xa76e, - 0xa779, 0xa779, - 0xa77b, 0xa77b, - 0xa77d, 0xa77e, - 0xa780, 0xa780, - 0xa782, 0xa782, - 0xa784, 0xa784, - 0xa786, 0xa786, - 0xa78b, 0xa78b, - 0xff21, 0xff3a, - 0x10400, 0x10427, - 0x1d400, 0x1d419, - 0x1d434, 0x1d44d, - 0x1d468, 0x1d481, - 0x1d49c, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b5, - 0x1d4d0, 0x1d4e9, - 0x1d504, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d538, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d56c, 0x1d585, - 0x1d5a0, 0x1d5b9, - 0x1d5d4, 0x1d5ed, - 0x1d608, 0x1d621, - 0x1d63c, 0x1d655, - 0x1d670, 0x1d689, - 0x1d6a8, 0x1d6c0, - 0x1d6e2, 0x1d6fa, - 0x1d71c, 0x1d734, - 0x1d756, 0x1d76e, - 0x1d790, 0x1d7a8, - 0x1d7ca, 0x1d7ca, -}; /* CR_Uppercase */ - -/* 'Cased': Derived Property */ -static const OnigCodePoint CR_Cased[] = { - 110, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x01ba, - 0x01bc, 0x01bf, - 0x01c4, 0x0293, - 0x0295, 0x02b8, - 0x02c0, 0x02c1, - 0x02e0, 0x02e4, - 0x0345, 0x0345, - 0x0370, 0x0373, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x048a, 0x0525, - 0x0531, 0x0556, - 0x0561, 0x0587, - 0x10a0, 0x10c5, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2090, 0x2094, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x212f, 0x2134, - 0x2139, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x217f, - 0x2183, 0x2184, - 0x24b6, 0x24e9, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0xa640, 0xa65f, - 0xa662, 0xa66d, - 0xa680, 0xa697, - 0xa722, 0xa787, - 0xa78b, 0xa78c, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0x10400, 0x1044f, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, -}; /* CR_Cased */ - -/* 'Case_Ignorable': Derived Property */ -static const OnigCodePoint CR_Case_Ignorable[] = { - 266, - 0x0027, 0x0027, - 0x002e, 0x002e, - 0x003a, 0x003a, - 0x005e, 0x005e, - 0x0060, 0x0060, - 0x00a8, 0x00a8, - 0x00ad, 0x00ad, - 0x00af, 0x00af, - 0x00b4, 0x00b4, - 0x00b7, 0x00b8, - 0x02b0, 0x036f, - 0x0374, 0x0375, - 0x037a, 0x037a, - 0x0384, 0x0385, - 0x0387, 0x0387, - 0x0483, 0x0489, - 0x0559, 0x0559, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x05f4, 0x05f4, - 0x0600, 0x0603, - 0x0610, 0x061a, - 0x0640, 0x0640, - 0x064b, 0x065e, - 0x0670, 0x0670, - 0x06d6, 0x06e8, - 0x06ea, 0x06ed, - 0x070f, 0x070f, - 0x0711, 0x0711, - 0x0730, 0x074a, - 0x07a6, 0x07b0, - 0x07eb, 0x07f5, - 0x07fa, 0x07fa, - 0x0816, 0x082d, - 0x0900, 0x0902, - 0x093c, 0x093c, - 0x0941, 0x0948, - 0x094d, 0x094d, - 0x0951, 0x0955, - 0x0962, 0x0963, - 0x0971, 0x0971, - 0x0981, 0x0981, - 0x09bc, 0x09bc, - 0x09c1, 0x09c4, - 0x09cd, 0x09cd, - 0x09e2, 0x09e3, - 0x0a01, 0x0a02, - 0x0a3c, 0x0a3c, - 0x0a41, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a70, 0x0a71, - 0x0a75, 0x0a75, - 0x0a81, 0x0a82, - 0x0abc, 0x0abc, - 0x0ac1, 0x0ac5, - 0x0ac7, 0x0ac8, - 0x0acd, 0x0acd, - 0x0ae2, 0x0ae3, - 0x0b01, 0x0b01, - 0x0b3c, 0x0b3c, - 0x0b3f, 0x0b3f, - 0x0b41, 0x0b44, - 0x0b4d, 0x0b4d, - 0x0b56, 0x0b56, - 0x0b62, 0x0b63, - 0x0b82, 0x0b82, - 0x0bc0, 0x0bc0, - 0x0bcd, 0x0bcd, - 0x0c3e, 0x0c40, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c62, 0x0c63, - 0x0cbc, 0x0cbc, - 0x0cbf, 0x0cbf, - 0x0cc6, 0x0cc6, - 0x0ccc, 0x0ccd, - 0x0ce2, 0x0ce3, - 0x0d41, 0x0d44, - 0x0d4d, 0x0d4d, - 0x0d62, 0x0d63, - 0x0dca, 0x0dca, - 0x0dd2, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0e31, 0x0e31, - 0x0e34, 0x0e3a, - 0x0e46, 0x0e4e, - 0x0eb1, 0x0eb1, - 0x0eb4, 0x0eb9, - 0x0ebb, 0x0ebc, - 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0f18, 0x0f19, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f71, 0x0f7e, - 0x0f80, 0x0f84, - 0x0f86, 0x0f87, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x102d, 0x1030, - 0x1032, 0x1037, - 0x1039, 0x103a, - 0x103d, 0x103e, - 0x1058, 0x1059, - 0x105e, 0x1060, - 0x1071, 0x1074, - 0x1082, 0x1082, - 0x1085, 0x1086, - 0x108d, 0x108d, - 0x109d, 0x109d, - 0x10fc, 0x10fc, - 0x135f, 0x135f, - 0x1712, 0x1714, - 0x1732, 0x1734, - 0x1752, 0x1753, - 0x1772, 0x1773, - 0x17b4, 0x17b5, - 0x17b7, 0x17bd, - 0x17c6, 0x17c6, - 0x17c9, 0x17d3, - 0x17d7, 0x17d7, - 0x17dd, 0x17dd, - 0x180b, 0x180d, - 0x1843, 0x1843, - 0x18a9, 0x18a9, - 0x1920, 0x1922, - 0x1927, 0x1928, - 0x1932, 0x1932, - 0x1939, 0x193b, - 0x1a17, 0x1a18, - 0x1a56, 0x1a56, - 0x1a58, 0x1a5e, - 0x1a60, 0x1a60, - 0x1a62, 0x1a62, - 0x1a65, 0x1a6c, - 0x1a73, 0x1a7c, - 0x1a7f, 0x1a7f, - 0x1aa7, 0x1aa7, - 0x1b00, 0x1b03, - 0x1b34, 0x1b34, - 0x1b36, 0x1b3a, - 0x1b3c, 0x1b3c, - 0x1b42, 0x1b42, - 0x1b6b, 0x1b73, - 0x1b80, 0x1b81, - 0x1ba2, 0x1ba5, - 0x1ba8, 0x1ba9, - 0x1c2c, 0x1c33, - 0x1c36, 0x1c37, - 0x1c78, 0x1c7d, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1ce0, - 0x1ce2, 0x1ce8, - 0x1ced, 0x1ced, - 0x1d2c, 0x1d61, - 0x1d78, 0x1d78, - 0x1d9b, 0x1de6, - 0x1dfd, 0x1dff, - 0x1fbd, 0x1fbd, - 0x1fbf, 0x1fc1, - 0x1fcd, 0x1fcf, - 0x1fdd, 0x1fdf, - 0x1fed, 0x1fef, - 0x1ffd, 0x1ffe, - 0x200b, 0x200f, - 0x2018, 0x2019, - 0x2024, 0x2024, - 0x2027, 0x2027, - 0x202a, 0x202e, - 0x2060, 0x2064, - 0x206a, 0x206f, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x2094, - 0x20d0, 0x20f0, - 0x2c7d, 0x2c7d, - 0x2cef, 0x2cf1, - 0x2d6f, 0x2d6f, - 0x2de0, 0x2dff, - 0x2e2f, 0x2e2f, - 0x3005, 0x3005, - 0x302a, 0x302f, - 0x3031, 0x3035, - 0x303b, 0x303b, - 0x3099, 0x309e, - 0x30fc, 0x30fe, - 0xa015, 0xa015, - 0xa4f8, 0xa4fd, - 0xa60c, 0xa60c, - 0xa66f, 0xa672, - 0xa67c, 0xa67d, - 0xa67f, 0xa67f, - 0xa6f0, 0xa6f1, - 0xa700, 0xa721, - 0xa770, 0xa770, - 0xa788, 0xa78a, - 0xa802, 0xa802, - 0xa806, 0xa806, - 0xa80b, 0xa80b, - 0xa825, 0xa826, - 0xa8c4, 0xa8c4, - 0xa8e0, 0xa8f1, - 0xa926, 0xa92d, - 0xa947, 0xa951, - 0xa980, 0xa982, - 0xa9b3, 0xa9b3, - 0xa9b6, 0xa9b9, - 0xa9bc, 0xa9bc, - 0xa9cf, 0xa9cf, - 0xaa29, 0xaa2e, - 0xaa31, 0xaa32, - 0xaa35, 0xaa36, - 0xaa43, 0xaa43, - 0xaa4c, 0xaa4c, - 0xaa70, 0xaa70, - 0xaab0, 0xaab0, - 0xaab2, 0xaab4, - 0xaab7, 0xaab8, - 0xaabe, 0xaabf, - 0xaac1, 0xaac1, - 0xaadd, 0xaadd, - 0xabe5, 0xabe5, - 0xabe8, 0xabe8, - 0xabed, 0xabed, - 0xfb1e, 0xfb1e, - 0xfe00, 0xfe0f, - 0xfe13, 0xfe13, - 0xfe20, 0xfe26, - 0xfe52, 0xfe52, - 0xfe55, 0xfe55, - 0xfeff, 0xfeff, - 0xff07, 0xff07, - 0xff0e, 0xff0e, - 0xff1a, 0xff1a, - 0xff3e, 0xff3e, - 0xff40, 0xff40, - 0xff70, 0xff70, - 0xff9e, 0xff9f, - 0xffe3, 0xffe3, - 0xfff9, 0xfffb, - 0x101fd, 0x101fd, - 0x10a01, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a0f, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x11080, 0x11081, - 0x110b3, 0x110b6, - 0x110b9, 0x110ba, - 0x110bd, 0x110bd, - 0x1d167, 0x1d169, - 0x1d173, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, - 0xe0100, 0xe01ef, -}; /* CR_Case_Ignorable */ - -/* 'Changes_When_Lowercased': Derived Property */ -static const OnigCodePoint CR_Changes_When_Lowercased[] = { - 557, - 0x0041, 0x005a, - 0x00c0, 0x00d6, - 0x00d8, 0x00de, - 0x0100, 0x0100, - 0x0102, 0x0102, - 0x0104, 0x0104, - 0x0106, 0x0106, - 0x0108, 0x0108, - 0x010a, 0x010a, - 0x010c, 0x010c, - 0x010e, 0x010e, - 0x0110, 0x0110, - 0x0112, 0x0112, - 0x0114, 0x0114, - 0x0116, 0x0116, - 0x0118, 0x0118, - 0x011a, 0x011a, - 0x011c, 0x011c, - 0x011e, 0x011e, - 0x0120, 0x0120, - 0x0122, 0x0122, - 0x0124, 0x0124, - 0x0126, 0x0126, - 0x0128, 0x0128, - 0x012a, 0x012a, - 0x012c, 0x012c, - 0x012e, 0x012e, - 0x0130, 0x0130, - 0x0132, 0x0132, - 0x0134, 0x0134, - 0x0136, 0x0136, - 0x0139, 0x0139, - 0x013b, 0x013b, - 0x013d, 0x013d, - 0x013f, 0x013f, - 0x0141, 0x0141, - 0x0143, 0x0143, - 0x0145, 0x0145, - 0x0147, 0x0147, - 0x014a, 0x014a, - 0x014c, 0x014c, - 0x014e, 0x014e, - 0x0150, 0x0150, - 0x0152, 0x0152, - 0x0154, 0x0154, - 0x0156, 0x0156, - 0x0158, 0x0158, - 0x015a, 0x015a, - 0x015c, 0x015c, - 0x015e, 0x015e, - 0x0160, 0x0160, - 0x0162, 0x0162, - 0x0164, 0x0164, - 0x0166, 0x0166, - 0x0168, 0x0168, - 0x016a, 0x016a, - 0x016c, 0x016c, - 0x016e, 0x016e, - 0x0170, 0x0170, - 0x0172, 0x0172, - 0x0174, 0x0174, - 0x0176, 0x0176, - 0x0178, 0x0179, - 0x017b, 0x017b, - 0x017d, 0x017d, - 0x0181, 0x0182, - 0x0184, 0x0184, - 0x0186, 0x0187, - 0x0189, 0x018b, - 0x018e, 0x0191, - 0x0193, 0x0194, - 0x0196, 0x0198, - 0x019c, 0x019d, - 0x019f, 0x01a0, - 0x01a2, 0x01a2, - 0x01a4, 0x01a4, - 0x01a6, 0x01a7, - 0x01a9, 0x01a9, - 0x01ac, 0x01ac, - 0x01ae, 0x01af, - 0x01b1, 0x01b3, - 0x01b5, 0x01b5, - 0x01b7, 0x01b8, - 0x01bc, 0x01bc, - 0x01c4, 0x01c5, - 0x01c7, 0x01c8, - 0x01ca, 0x01cb, - 0x01cd, 0x01cd, - 0x01cf, 0x01cf, - 0x01d1, 0x01d1, - 0x01d3, 0x01d3, - 0x01d5, 0x01d5, - 0x01d7, 0x01d7, - 0x01d9, 0x01d9, - 0x01db, 0x01db, - 0x01de, 0x01de, - 0x01e0, 0x01e0, - 0x01e2, 0x01e2, - 0x01e4, 0x01e4, - 0x01e6, 0x01e6, - 0x01e8, 0x01e8, - 0x01ea, 0x01ea, - 0x01ec, 0x01ec, - 0x01ee, 0x01ee, - 0x01f1, 0x01f2, - 0x01f4, 0x01f4, - 0x01f6, 0x01f8, - 0x01fa, 0x01fa, - 0x01fc, 0x01fc, - 0x01fe, 0x01fe, - 0x0200, 0x0200, - 0x0202, 0x0202, - 0x0204, 0x0204, - 0x0206, 0x0206, - 0x0208, 0x0208, - 0x020a, 0x020a, - 0x020c, 0x020c, - 0x020e, 0x020e, - 0x0210, 0x0210, - 0x0212, 0x0212, - 0x0214, 0x0214, - 0x0216, 0x0216, - 0x0218, 0x0218, - 0x021a, 0x021a, - 0x021c, 0x021c, - 0x021e, 0x021e, - 0x0220, 0x0220, - 0x0222, 0x0222, - 0x0224, 0x0224, - 0x0226, 0x0226, - 0x0228, 0x0228, - 0x022a, 0x022a, - 0x022c, 0x022c, - 0x022e, 0x022e, - 0x0230, 0x0230, - 0x0232, 0x0232, - 0x023a, 0x023b, - 0x023d, 0x023e, - 0x0241, 0x0241, - 0x0243, 0x0246, - 0x0248, 0x0248, - 0x024a, 0x024a, - 0x024c, 0x024c, - 0x024e, 0x024e, - 0x0370, 0x0370, - 0x0372, 0x0372, - 0x0376, 0x0376, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x038f, - 0x0391, 0x03a1, - 0x03a3, 0x03ab, - 0x03cf, 0x03cf, - 0x03d8, 0x03d8, - 0x03da, 0x03da, - 0x03dc, 0x03dc, - 0x03de, 0x03de, - 0x03e0, 0x03e0, - 0x03e2, 0x03e2, - 0x03e4, 0x03e4, - 0x03e6, 0x03e6, - 0x03e8, 0x03e8, - 0x03ea, 0x03ea, - 0x03ec, 0x03ec, - 0x03ee, 0x03ee, - 0x03f4, 0x03f4, - 0x03f7, 0x03f7, - 0x03f9, 0x03fa, - 0x03fd, 0x042f, - 0x0460, 0x0460, - 0x0462, 0x0462, - 0x0464, 0x0464, - 0x0466, 0x0466, - 0x0468, 0x0468, - 0x046a, 0x046a, - 0x046c, 0x046c, - 0x046e, 0x046e, - 0x0470, 0x0470, - 0x0472, 0x0472, - 0x0474, 0x0474, - 0x0476, 0x0476, - 0x0478, 0x0478, - 0x047a, 0x047a, - 0x047c, 0x047c, - 0x047e, 0x047e, - 0x0480, 0x0480, - 0x048a, 0x048a, - 0x048c, 0x048c, - 0x048e, 0x048e, - 0x0490, 0x0490, - 0x0492, 0x0492, - 0x0494, 0x0494, - 0x0496, 0x0496, - 0x0498, 0x0498, - 0x049a, 0x049a, - 0x049c, 0x049c, - 0x049e, 0x049e, - 0x04a0, 0x04a0, - 0x04a2, 0x04a2, - 0x04a4, 0x04a4, - 0x04a6, 0x04a6, - 0x04a8, 0x04a8, - 0x04aa, 0x04aa, - 0x04ac, 0x04ac, - 0x04ae, 0x04ae, - 0x04b0, 0x04b0, - 0x04b2, 0x04b2, - 0x04b4, 0x04b4, - 0x04b6, 0x04b6, - 0x04b8, 0x04b8, - 0x04ba, 0x04ba, - 0x04bc, 0x04bc, - 0x04be, 0x04be, - 0x04c0, 0x04c1, - 0x04c3, 0x04c3, - 0x04c5, 0x04c5, - 0x04c7, 0x04c7, - 0x04c9, 0x04c9, - 0x04cb, 0x04cb, - 0x04cd, 0x04cd, - 0x04d0, 0x04d0, - 0x04d2, 0x04d2, - 0x04d4, 0x04d4, - 0x04d6, 0x04d6, - 0x04d8, 0x04d8, - 0x04da, 0x04da, - 0x04dc, 0x04dc, - 0x04de, 0x04de, - 0x04e0, 0x04e0, - 0x04e2, 0x04e2, - 0x04e4, 0x04e4, - 0x04e6, 0x04e6, - 0x04e8, 0x04e8, - 0x04ea, 0x04ea, - 0x04ec, 0x04ec, - 0x04ee, 0x04ee, - 0x04f0, 0x04f0, - 0x04f2, 0x04f2, - 0x04f4, 0x04f4, - 0x04f6, 0x04f6, - 0x04f8, 0x04f8, - 0x04fa, 0x04fa, - 0x04fc, 0x04fc, - 0x04fe, 0x04fe, - 0x0500, 0x0500, - 0x0502, 0x0502, - 0x0504, 0x0504, - 0x0506, 0x0506, - 0x0508, 0x0508, - 0x050a, 0x050a, - 0x050c, 0x050c, - 0x050e, 0x050e, - 0x0510, 0x0510, - 0x0512, 0x0512, - 0x0514, 0x0514, - 0x0516, 0x0516, - 0x0518, 0x0518, - 0x051a, 0x051a, - 0x051c, 0x051c, - 0x051e, 0x051e, - 0x0520, 0x0520, - 0x0522, 0x0522, - 0x0524, 0x0524, - 0x0531, 0x0556, - 0x10a0, 0x10c5, - 0x1e00, 0x1e00, - 0x1e02, 0x1e02, - 0x1e04, 0x1e04, - 0x1e06, 0x1e06, - 0x1e08, 0x1e08, - 0x1e0a, 0x1e0a, - 0x1e0c, 0x1e0c, - 0x1e0e, 0x1e0e, - 0x1e10, 0x1e10, - 0x1e12, 0x1e12, - 0x1e14, 0x1e14, - 0x1e16, 0x1e16, - 0x1e18, 0x1e18, - 0x1e1a, 0x1e1a, - 0x1e1c, 0x1e1c, - 0x1e1e, 0x1e1e, - 0x1e20, 0x1e20, - 0x1e22, 0x1e22, - 0x1e24, 0x1e24, - 0x1e26, 0x1e26, - 0x1e28, 0x1e28, - 0x1e2a, 0x1e2a, - 0x1e2c, 0x1e2c, - 0x1e2e, 0x1e2e, - 0x1e30, 0x1e30, - 0x1e32, 0x1e32, - 0x1e34, 0x1e34, - 0x1e36, 0x1e36, - 0x1e38, 0x1e38, - 0x1e3a, 0x1e3a, - 0x1e3c, 0x1e3c, - 0x1e3e, 0x1e3e, - 0x1e40, 0x1e40, - 0x1e42, 0x1e42, - 0x1e44, 0x1e44, - 0x1e46, 0x1e46, - 0x1e48, 0x1e48, - 0x1e4a, 0x1e4a, - 0x1e4c, 0x1e4c, - 0x1e4e, 0x1e4e, - 0x1e50, 0x1e50, - 0x1e52, 0x1e52, - 0x1e54, 0x1e54, - 0x1e56, 0x1e56, - 0x1e58, 0x1e58, - 0x1e5a, 0x1e5a, - 0x1e5c, 0x1e5c, - 0x1e5e, 0x1e5e, - 0x1e60, 0x1e60, - 0x1e62, 0x1e62, - 0x1e64, 0x1e64, - 0x1e66, 0x1e66, - 0x1e68, 0x1e68, - 0x1e6a, 0x1e6a, - 0x1e6c, 0x1e6c, - 0x1e6e, 0x1e6e, - 0x1e70, 0x1e70, - 0x1e72, 0x1e72, - 0x1e74, 0x1e74, - 0x1e76, 0x1e76, - 0x1e78, 0x1e78, - 0x1e7a, 0x1e7a, - 0x1e7c, 0x1e7c, - 0x1e7e, 0x1e7e, - 0x1e80, 0x1e80, - 0x1e82, 0x1e82, - 0x1e84, 0x1e84, - 0x1e86, 0x1e86, - 0x1e88, 0x1e88, - 0x1e8a, 0x1e8a, - 0x1e8c, 0x1e8c, - 0x1e8e, 0x1e8e, - 0x1e90, 0x1e90, - 0x1e92, 0x1e92, - 0x1e94, 0x1e94, - 0x1e9e, 0x1e9e, - 0x1ea0, 0x1ea0, - 0x1ea2, 0x1ea2, - 0x1ea4, 0x1ea4, - 0x1ea6, 0x1ea6, - 0x1ea8, 0x1ea8, - 0x1eaa, 0x1eaa, - 0x1eac, 0x1eac, - 0x1eae, 0x1eae, - 0x1eb0, 0x1eb0, - 0x1eb2, 0x1eb2, - 0x1eb4, 0x1eb4, - 0x1eb6, 0x1eb6, - 0x1eb8, 0x1eb8, - 0x1eba, 0x1eba, - 0x1ebc, 0x1ebc, - 0x1ebe, 0x1ebe, - 0x1ec0, 0x1ec0, - 0x1ec2, 0x1ec2, - 0x1ec4, 0x1ec4, - 0x1ec6, 0x1ec6, - 0x1ec8, 0x1ec8, - 0x1eca, 0x1eca, - 0x1ecc, 0x1ecc, - 0x1ece, 0x1ece, - 0x1ed0, 0x1ed0, - 0x1ed2, 0x1ed2, - 0x1ed4, 0x1ed4, - 0x1ed6, 0x1ed6, - 0x1ed8, 0x1ed8, - 0x1eda, 0x1eda, - 0x1edc, 0x1edc, - 0x1ede, 0x1ede, - 0x1ee0, 0x1ee0, - 0x1ee2, 0x1ee2, - 0x1ee4, 0x1ee4, - 0x1ee6, 0x1ee6, - 0x1ee8, 0x1ee8, - 0x1eea, 0x1eea, - 0x1eec, 0x1eec, - 0x1eee, 0x1eee, - 0x1ef0, 0x1ef0, - 0x1ef2, 0x1ef2, - 0x1ef4, 0x1ef4, - 0x1ef6, 0x1ef6, - 0x1ef8, 0x1ef8, - 0x1efa, 0x1efa, - 0x1efc, 0x1efc, - 0x1efe, 0x1efe, - 0x1f08, 0x1f0f, - 0x1f18, 0x1f1d, - 0x1f28, 0x1f2f, - 0x1f38, 0x1f3f, - 0x1f48, 0x1f4d, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f5f, - 0x1f68, 0x1f6f, - 0x1f88, 0x1f8f, - 0x1f98, 0x1f9f, - 0x1fa8, 0x1faf, - 0x1fb8, 0x1fbc, - 0x1fc8, 0x1fcc, - 0x1fd8, 0x1fdb, - 0x1fe8, 0x1fec, - 0x1ff8, 0x1ffc, - 0x2126, 0x2126, - 0x212a, 0x212b, - 0x2132, 0x2132, - 0x2160, 0x216f, - 0x2183, 0x2183, - 0x24b6, 0x24cf, - 0x2c00, 0x2c2e, - 0x2c60, 0x2c60, - 0x2c62, 0x2c64, - 0x2c67, 0x2c67, - 0x2c69, 0x2c69, - 0x2c6b, 0x2c6b, - 0x2c6d, 0x2c70, - 0x2c72, 0x2c72, - 0x2c75, 0x2c75, - 0x2c7e, 0x2c80, - 0x2c82, 0x2c82, - 0x2c84, 0x2c84, - 0x2c86, 0x2c86, - 0x2c88, 0x2c88, - 0x2c8a, 0x2c8a, - 0x2c8c, 0x2c8c, - 0x2c8e, 0x2c8e, - 0x2c90, 0x2c90, - 0x2c92, 0x2c92, - 0x2c94, 0x2c94, - 0x2c96, 0x2c96, - 0x2c98, 0x2c98, - 0x2c9a, 0x2c9a, - 0x2c9c, 0x2c9c, - 0x2c9e, 0x2c9e, - 0x2ca0, 0x2ca0, - 0x2ca2, 0x2ca2, - 0x2ca4, 0x2ca4, - 0x2ca6, 0x2ca6, - 0x2ca8, 0x2ca8, - 0x2caa, 0x2caa, - 0x2cac, 0x2cac, - 0x2cae, 0x2cae, - 0x2cb0, 0x2cb0, - 0x2cb2, 0x2cb2, - 0x2cb4, 0x2cb4, - 0x2cb6, 0x2cb6, - 0x2cb8, 0x2cb8, - 0x2cba, 0x2cba, - 0x2cbc, 0x2cbc, - 0x2cbe, 0x2cbe, - 0x2cc0, 0x2cc0, - 0x2cc2, 0x2cc2, - 0x2cc4, 0x2cc4, - 0x2cc6, 0x2cc6, - 0x2cc8, 0x2cc8, - 0x2cca, 0x2cca, - 0x2ccc, 0x2ccc, - 0x2cce, 0x2cce, - 0x2cd0, 0x2cd0, - 0x2cd2, 0x2cd2, - 0x2cd4, 0x2cd4, - 0x2cd6, 0x2cd6, - 0x2cd8, 0x2cd8, - 0x2cda, 0x2cda, - 0x2cdc, 0x2cdc, - 0x2cde, 0x2cde, - 0x2ce0, 0x2ce0, - 0x2ce2, 0x2ce2, - 0x2ceb, 0x2ceb, - 0x2ced, 0x2ced, - 0xa640, 0xa640, - 0xa642, 0xa642, - 0xa644, 0xa644, - 0xa646, 0xa646, - 0xa648, 0xa648, - 0xa64a, 0xa64a, - 0xa64c, 0xa64c, - 0xa64e, 0xa64e, - 0xa650, 0xa650, - 0xa652, 0xa652, - 0xa654, 0xa654, - 0xa656, 0xa656, - 0xa658, 0xa658, - 0xa65a, 0xa65a, - 0xa65c, 0xa65c, - 0xa65e, 0xa65e, - 0xa662, 0xa662, - 0xa664, 0xa664, - 0xa666, 0xa666, - 0xa668, 0xa668, - 0xa66a, 0xa66a, - 0xa66c, 0xa66c, - 0xa680, 0xa680, - 0xa682, 0xa682, - 0xa684, 0xa684, - 0xa686, 0xa686, - 0xa688, 0xa688, - 0xa68a, 0xa68a, - 0xa68c, 0xa68c, - 0xa68e, 0xa68e, - 0xa690, 0xa690, - 0xa692, 0xa692, - 0xa694, 0xa694, - 0xa696, 0xa696, - 0xa722, 0xa722, - 0xa724, 0xa724, - 0xa726, 0xa726, - 0xa728, 0xa728, - 0xa72a, 0xa72a, - 0xa72c, 0xa72c, - 0xa72e, 0xa72e, - 0xa732, 0xa732, - 0xa734, 0xa734, - 0xa736, 0xa736, - 0xa738, 0xa738, - 0xa73a, 0xa73a, - 0xa73c, 0xa73c, - 0xa73e, 0xa73e, - 0xa740, 0xa740, - 0xa742, 0xa742, - 0xa744, 0xa744, - 0xa746, 0xa746, - 0xa748, 0xa748, - 0xa74a, 0xa74a, - 0xa74c, 0xa74c, - 0xa74e, 0xa74e, - 0xa750, 0xa750, - 0xa752, 0xa752, - 0xa754, 0xa754, - 0xa756, 0xa756, - 0xa758, 0xa758, - 0xa75a, 0xa75a, - 0xa75c, 0xa75c, - 0xa75e, 0xa75e, - 0xa760, 0xa760, - 0xa762, 0xa762, - 0xa764, 0xa764, - 0xa766, 0xa766, - 0xa768, 0xa768, - 0xa76a, 0xa76a, - 0xa76c, 0xa76c, - 0xa76e, 0xa76e, - 0xa779, 0xa779, - 0xa77b, 0xa77b, - 0xa77d, 0xa77e, - 0xa780, 0xa780, - 0xa782, 0xa782, - 0xa784, 0xa784, - 0xa786, 0xa786, - 0xa78b, 0xa78b, - 0xff21, 0xff3a, - 0x10400, 0x10427, -}; /* CR_Changes_When_Lowercased */ - -/* 'Changes_When_Uppercased': Derived Property */ -static const OnigCodePoint CR_Changes_When_Uppercased[] = { - 573, - 0x0061, 0x007a, - 0x00b5, 0x00b5, - 0x00df, 0x00f6, - 0x00f8, 0x00ff, - 0x0101, 0x0101, - 0x0103, 0x0103, - 0x0105, 0x0105, - 0x0107, 0x0107, - 0x0109, 0x0109, - 0x010b, 0x010b, - 0x010d, 0x010d, - 0x010f, 0x010f, - 0x0111, 0x0111, - 0x0113, 0x0113, - 0x0115, 0x0115, - 0x0117, 0x0117, - 0x0119, 0x0119, - 0x011b, 0x011b, - 0x011d, 0x011d, - 0x011f, 0x011f, - 0x0121, 0x0121, - 0x0123, 0x0123, - 0x0125, 0x0125, - 0x0127, 0x0127, - 0x0129, 0x0129, - 0x012b, 0x012b, - 0x012d, 0x012d, - 0x012f, 0x012f, - 0x0131, 0x0131, - 0x0133, 0x0133, - 0x0135, 0x0135, - 0x0137, 0x0137, - 0x013a, 0x013a, - 0x013c, 0x013c, - 0x013e, 0x013e, - 0x0140, 0x0140, - 0x0142, 0x0142, - 0x0144, 0x0144, - 0x0146, 0x0146, - 0x0148, 0x0149, - 0x014b, 0x014b, - 0x014d, 0x014d, - 0x014f, 0x014f, - 0x0151, 0x0151, - 0x0153, 0x0153, - 0x0155, 0x0155, - 0x0157, 0x0157, - 0x0159, 0x0159, - 0x015b, 0x015b, - 0x015d, 0x015d, - 0x015f, 0x015f, - 0x0161, 0x0161, - 0x0163, 0x0163, - 0x0165, 0x0165, - 0x0167, 0x0167, - 0x0169, 0x0169, - 0x016b, 0x016b, - 0x016d, 0x016d, - 0x016f, 0x016f, - 0x0171, 0x0171, - 0x0173, 0x0173, - 0x0175, 0x0175, - 0x0177, 0x0177, - 0x017a, 0x017a, - 0x017c, 0x017c, - 0x017e, 0x0180, - 0x0183, 0x0183, - 0x0185, 0x0185, - 0x0188, 0x0188, - 0x018c, 0x018c, - 0x0192, 0x0192, - 0x0195, 0x0195, - 0x0199, 0x019a, - 0x019e, 0x019e, - 0x01a1, 0x01a1, - 0x01a3, 0x01a3, - 0x01a5, 0x01a5, - 0x01a8, 0x01a8, - 0x01ad, 0x01ad, - 0x01b0, 0x01b0, - 0x01b4, 0x01b4, - 0x01b6, 0x01b6, - 0x01b9, 0x01b9, - 0x01bd, 0x01bd, - 0x01bf, 0x01bf, - 0x01c5, 0x01c6, - 0x01c8, 0x01c9, - 0x01cb, 0x01cc, - 0x01ce, 0x01ce, - 0x01d0, 0x01d0, - 0x01d2, 0x01d2, - 0x01d4, 0x01d4, - 0x01d6, 0x01d6, - 0x01d8, 0x01d8, - 0x01da, 0x01da, - 0x01dc, 0x01dd, - 0x01df, 0x01df, - 0x01e1, 0x01e1, - 0x01e3, 0x01e3, - 0x01e5, 0x01e5, - 0x01e7, 0x01e7, - 0x01e9, 0x01e9, - 0x01eb, 0x01eb, - 0x01ed, 0x01ed, - 0x01ef, 0x01f0, - 0x01f2, 0x01f3, - 0x01f5, 0x01f5, - 0x01f9, 0x01f9, - 0x01fb, 0x01fb, - 0x01fd, 0x01fd, - 0x01ff, 0x01ff, - 0x0201, 0x0201, - 0x0203, 0x0203, - 0x0205, 0x0205, - 0x0207, 0x0207, - 0x0209, 0x0209, - 0x020b, 0x020b, - 0x020d, 0x020d, - 0x020f, 0x020f, - 0x0211, 0x0211, - 0x0213, 0x0213, - 0x0215, 0x0215, - 0x0217, 0x0217, - 0x0219, 0x0219, - 0x021b, 0x021b, - 0x021d, 0x021d, - 0x021f, 0x021f, - 0x0223, 0x0223, - 0x0225, 0x0225, - 0x0227, 0x0227, - 0x0229, 0x0229, - 0x022b, 0x022b, - 0x022d, 0x022d, - 0x022f, 0x022f, - 0x0231, 0x0231, - 0x0233, 0x0233, - 0x023c, 0x023c, - 0x023f, 0x0240, - 0x0242, 0x0242, - 0x0247, 0x0247, - 0x0249, 0x0249, - 0x024b, 0x024b, - 0x024d, 0x024d, - 0x024f, 0x0254, - 0x0256, 0x0257, - 0x0259, 0x0259, - 0x025b, 0x025b, - 0x0260, 0x0260, - 0x0263, 0x0263, - 0x0268, 0x0269, - 0x026b, 0x026b, - 0x026f, 0x026f, - 0x0271, 0x0272, - 0x0275, 0x0275, - 0x027d, 0x027d, - 0x0280, 0x0280, - 0x0283, 0x0283, - 0x0288, 0x028c, - 0x0292, 0x0292, - 0x0345, 0x0345, - 0x0371, 0x0371, - 0x0373, 0x0373, - 0x0377, 0x0377, - 0x037b, 0x037d, - 0x0390, 0x0390, - 0x03ac, 0x03ce, - 0x03d0, 0x03d1, - 0x03d5, 0x03d7, - 0x03d9, 0x03d9, - 0x03db, 0x03db, - 0x03dd, 0x03dd, - 0x03df, 0x03df, - 0x03e1, 0x03e1, - 0x03e3, 0x03e3, - 0x03e5, 0x03e5, - 0x03e7, 0x03e7, - 0x03e9, 0x03e9, - 0x03eb, 0x03eb, - 0x03ed, 0x03ed, - 0x03ef, 0x03f2, - 0x03f5, 0x03f5, - 0x03f8, 0x03f8, - 0x03fb, 0x03fb, - 0x0430, 0x045f, - 0x0461, 0x0461, - 0x0463, 0x0463, - 0x0465, 0x0465, - 0x0467, 0x0467, - 0x0469, 0x0469, - 0x046b, 0x046b, - 0x046d, 0x046d, - 0x046f, 0x046f, - 0x0471, 0x0471, - 0x0473, 0x0473, - 0x0475, 0x0475, - 0x0477, 0x0477, - 0x0479, 0x0479, - 0x047b, 0x047b, - 0x047d, 0x047d, - 0x047f, 0x047f, - 0x0481, 0x0481, - 0x048b, 0x048b, - 0x048d, 0x048d, - 0x048f, 0x048f, - 0x0491, 0x0491, - 0x0493, 0x0493, - 0x0495, 0x0495, - 0x0497, 0x0497, - 0x0499, 0x0499, - 0x049b, 0x049b, - 0x049d, 0x049d, - 0x049f, 0x049f, - 0x04a1, 0x04a1, - 0x04a3, 0x04a3, - 0x04a5, 0x04a5, - 0x04a7, 0x04a7, - 0x04a9, 0x04a9, - 0x04ab, 0x04ab, - 0x04ad, 0x04ad, - 0x04af, 0x04af, - 0x04b1, 0x04b1, - 0x04b3, 0x04b3, - 0x04b5, 0x04b5, - 0x04b7, 0x04b7, - 0x04b9, 0x04b9, - 0x04bb, 0x04bb, - 0x04bd, 0x04bd, - 0x04bf, 0x04bf, - 0x04c2, 0x04c2, - 0x04c4, 0x04c4, - 0x04c6, 0x04c6, - 0x04c8, 0x04c8, - 0x04ca, 0x04ca, - 0x04cc, 0x04cc, - 0x04ce, 0x04cf, - 0x04d1, 0x04d1, - 0x04d3, 0x04d3, - 0x04d5, 0x04d5, - 0x04d7, 0x04d7, - 0x04d9, 0x04d9, - 0x04db, 0x04db, - 0x04dd, 0x04dd, - 0x04df, 0x04df, - 0x04e1, 0x04e1, - 0x04e3, 0x04e3, - 0x04e5, 0x04e5, - 0x04e7, 0x04e7, - 0x04e9, 0x04e9, - 0x04eb, 0x04eb, - 0x04ed, 0x04ed, - 0x04ef, 0x04ef, - 0x04f1, 0x04f1, - 0x04f3, 0x04f3, - 0x04f5, 0x04f5, - 0x04f7, 0x04f7, - 0x04f9, 0x04f9, - 0x04fb, 0x04fb, - 0x04fd, 0x04fd, - 0x04ff, 0x04ff, - 0x0501, 0x0501, - 0x0503, 0x0503, - 0x0505, 0x0505, - 0x0507, 0x0507, - 0x0509, 0x0509, - 0x050b, 0x050b, - 0x050d, 0x050d, - 0x050f, 0x050f, - 0x0511, 0x0511, - 0x0513, 0x0513, - 0x0515, 0x0515, - 0x0517, 0x0517, - 0x0519, 0x0519, - 0x051b, 0x051b, - 0x051d, 0x051d, - 0x051f, 0x051f, - 0x0521, 0x0521, - 0x0523, 0x0523, - 0x0525, 0x0525, - 0x0561, 0x0587, - 0x1d79, 0x1d79, - 0x1d7d, 0x1d7d, - 0x1e01, 0x1e01, - 0x1e03, 0x1e03, - 0x1e05, 0x1e05, - 0x1e07, 0x1e07, - 0x1e09, 0x1e09, - 0x1e0b, 0x1e0b, - 0x1e0d, 0x1e0d, - 0x1e0f, 0x1e0f, - 0x1e11, 0x1e11, - 0x1e13, 0x1e13, - 0x1e15, 0x1e15, - 0x1e17, 0x1e17, - 0x1e19, 0x1e19, - 0x1e1b, 0x1e1b, - 0x1e1d, 0x1e1d, - 0x1e1f, 0x1e1f, - 0x1e21, 0x1e21, - 0x1e23, 0x1e23, - 0x1e25, 0x1e25, - 0x1e27, 0x1e27, - 0x1e29, 0x1e29, - 0x1e2b, 0x1e2b, - 0x1e2d, 0x1e2d, - 0x1e2f, 0x1e2f, - 0x1e31, 0x1e31, - 0x1e33, 0x1e33, - 0x1e35, 0x1e35, - 0x1e37, 0x1e37, - 0x1e39, 0x1e39, - 0x1e3b, 0x1e3b, - 0x1e3d, 0x1e3d, - 0x1e3f, 0x1e3f, - 0x1e41, 0x1e41, - 0x1e43, 0x1e43, - 0x1e45, 0x1e45, - 0x1e47, 0x1e47, - 0x1e49, 0x1e49, - 0x1e4b, 0x1e4b, - 0x1e4d, 0x1e4d, - 0x1e4f, 0x1e4f, - 0x1e51, 0x1e51, - 0x1e53, 0x1e53, - 0x1e55, 0x1e55, - 0x1e57, 0x1e57, - 0x1e59, 0x1e59, - 0x1e5b, 0x1e5b, - 0x1e5d, 0x1e5d, - 0x1e5f, 0x1e5f, - 0x1e61, 0x1e61, - 0x1e63, 0x1e63, - 0x1e65, 0x1e65, - 0x1e67, 0x1e67, - 0x1e69, 0x1e69, - 0x1e6b, 0x1e6b, - 0x1e6d, 0x1e6d, - 0x1e6f, 0x1e6f, - 0x1e71, 0x1e71, - 0x1e73, 0x1e73, - 0x1e75, 0x1e75, - 0x1e77, 0x1e77, - 0x1e79, 0x1e79, - 0x1e7b, 0x1e7b, - 0x1e7d, 0x1e7d, - 0x1e7f, 0x1e7f, - 0x1e81, 0x1e81, - 0x1e83, 0x1e83, - 0x1e85, 0x1e85, - 0x1e87, 0x1e87, - 0x1e89, 0x1e89, - 0x1e8b, 0x1e8b, - 0x1e8d, 0x1e8d, - 0x1e8f, 0x1e8f, - 0x1e91, 0x1e91, - 0x1e93, 0x1e93, - 0x1e95, 0x1e9b, - 0x1ea1, 0x1ea1, - 0x1ea3, 0x1ea3, - 0x1ea5, 0x1ea5, - 0x1ea7, 0x1ea7, - 0x1ea9, 0x1ea9, - 0x1eab, 0x1eab, - 0x1ead, 0x1ead, - 0x1eaf, 0x1eaf, - 0x1eb1, 0x1eb1, - 0x1eb3, 0x1eb3, - 0x1eb5, 0x1eb5, - 0x1eb7, 0x1eb7, - 0x1eb9, 0x1eb9, - 0x1ebb, 0x1ebb, - 0x1ebd, 0x1ebd, - 0x1ebf, 0x1ebf, - 0x1ec1, 0x1ec1, - 0x1ec3, 0x1ec3, - 0x1ec5, 0x1ec5, - 0x1ec7, 0x1ec7, - 0x1ec9, 0x1ec9, - 0x1ecb, 0x1ecb, - 0x1ecd, 0x1ecd, - 0x1ecf, 0x1ecf, - 0x1ed1, 0x1ed1, - 0x1ed3, 0x1ed3, - 0x1ed5, 0x1ed5, - 0x1ed7, 0x1ed7, - 0x1ed9, 0x1ed9, - 0x1edb, 0x1edb, - 0x1edd, 0x1edd, - 0x1edf, 0x1edf, - 0x1ee1, 0x1ee1, - 0x1ee3, 0x1ee3, - 0x1ee5, 0x1ee5, - 0x1ee7, 0x1ee7, - 0x1ee9, 0x1ee9, - 0x1eeb, 0x1eeb, - 0x1eed, 0x1eed, - 0x1eef, 0x1eef, - 0x1ef1, 0x1ef1, - 0x1ef3, 0x1ef3, - 0x1ef5, 0x1ef5, - 0x1ef7, 0x1ef7, - 0x1ef9, 0x1ef9, - 0x1efb, 0x1efb, - 0x1efd, 0x1efd, - 0x1eff, 0x1f07, - 0x1f10, 0x1f15, - 0x1f20, 0x1f27, - 0x1f30, 0x1f37, - 0x1f40, 0x1f45, - 0x1f50, 0x1f57, - 0x1f60, 0x1f67, - 0x1f70, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fb7, - 0x1fbc, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fc7, - 0x1fcc, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fd7, - 0x1fe0, 0x1fe7, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ff7, - 0x1ffc, 0x1ffc, - 0x214e, 0x214e, - 0x2170, 0x217f, - 0x2184, 0x2184, - 0x24d0, 0x24e9, - 0x2c30, 0x2c5e, - 0x2c61, 0x2c61, - 0x2c65, 0x2c66, - 0x2c68, 0x2c68, - 0x2c6a, 0x2c6a, - 0x2c6c, 0x2c6c, - 0x2c73, 0x2c73, - 0x2c76, 0x2c76, - 0x2c81, 0x2c81, - 0x2c83, 0x2c83, - 0x2c85, 0x2c85, - 0x2c87, 0x2c87, - 0x2c89, 0x2c89, - 0x2c8b, 0x2c8b, - 0x2c8d, 0x2c8d, - 0x2c8f, 0x2c8f, - 0x2c91, 0x2c91, - 0x2c93, 0x2c93, - 0x2c95, 0x2c95, - 0x2c97, 0x2c97, - 0x2c99, 0x2c99, - 0x2c9b, 0x2c9b, - 0x2c9d, 0x2c9d, - 0x2c9f, 0x2c9f, - 0x2ca1, 0x2ca1, - 0x2ca3, 0x2ca3, - 0x2ca5, 0x2ca5, - 0x2ca7, 0x2ca7, - 0x2ca9, 0x2ca9, - 0x2cab, 0x2cab, - 0x2cad, 0x2cad, - 0x2caf, 0x2caf, - 0x2cb1, 0x2cb1, - 0x2cb3, 0x2cb3, - 0x2cb5, 0x2cb5, - 0x2cb7, 0x2cb7, - 0x2cb9, 0x2cb9, - 0x2cbb, 0x2cbb, - 0x2cbd, 0x2cbd, - 0x2cbf, 0x2cbf, - 0x2cc1, 0x2cc1, - 0x2cc3, 0x2cc3, - 0x2cc5, 0x2cc5, - 0x2cc7, 0x2cc7, - 0x2cc9, 0x2cc9, - 0x2ccb, 0x2ccb, - 0x2ccd, 0x2ccd, - 0x2ccf, 0x2ccf, - 0x2cd1, 0x2cd1, - 0x2cd3, 0x2cd3, - 0x2cd5, 0x2cd5, - 0x2cd7, 0x2cd7, - 0x2cd9, 0x2cd9, - 0x2cdb, 0x2cdb, - 0x2cdd, 0x2cdd, - 0x2cdf, 0x2cdf, - 0x2ce1, 0x2ce1, - 0x2ce3, 0x2ce3, - 0x2cec, 0x2cec, - 0x2cee, 0x2cee, - 0x2d00, 0x2d25, - 0xa641, 0xa641, - 0xa643, 0xa643, - 0xa645, 0xa645, - 0xa647, 0xa647, - 0xa649, 0xa649, - 0xa64b, 0xa64b, - 0xa64d, 0xa64d, - 0xa64f, 0xa64f, - 0xa651, 0xa651, - 0xa653, 0xa653, - 0xa655, 0xa655, - 0xa657, 0xa657, - 0xa659, 0xa659, - 0xa65b, 0xa65b, - 0xa65d, 0xa65d, - 0xa65f, 0xa65f, - 0xa663, 0xa663, - 0xa665, 0xa665, - 0xa667, 0xa667, - 0xa669, 0xa669, - 0xa66b, 0xa66b, - 0xa66d, 0xa66d, - 0xa681, 0xa681, - 0xa683, 0xa683, - 0xa685, 0xa685, - 0xa687, 0xa687, - 0xa689, 0xa689, - 0xa68b, 0xa68b, - 0xa68d, 0xa68d, - 0xa68f, 0xa68f, - 0xa691, 0xa691, - 0xa693, 0xa693, - 0xa695, 0xa695, - 0xa697, 0xa697, - 0xa723, 0xa723, - 0xa725, 0xa725, - 0xa727, 0xa727, - 0xa729, 0xa729, - 0xa72b, 0xa72b, - 0xa72d, 0xa72d, - 0xa72f, 0xa72f, - 0xa733, 0xa733, - 0xa735, 0xa735, - 0xa737, 0xa737, - 0xa739, 0xa739, - 0xa73b, 0xa73b, - 0xa73d, 0xa73d, - 0xa73f, 0xa73f, - 0xa741, 0xa741, - 0xa743, 0xa743, - 0xa745, 0xa745, - 0xa747, 0xa747, - 0xa749, 0xa749, - 0xa74b, 0xa74b, - 0xa74d, 0xa74d, - 0xa74f, 0xa74f, - 0xa751, 0xa751, - 0xa753, 0xa753, - 0xa755, 0xa755, - 0xa757, 0xa757, - 0xa759, 0xa759, - 0xa75b, 0xa75b, - 0xa75d, 0xa75d, - 0xa75f, 0xa75f, - 0xa761, 0xa761, - 0xa763, 0xa763, - 0xa765, 0xa765, - 0xa767, 0xa767, - 0xa769, 0xa769, - 0xa76b, 0xa76b, - 0xa76d, 0xa76d, - 0xa76f, 0xa76f, - 0xa77a, 0xa77a, - 0xa77c, 0xa77c, - 0xa77f, 0xa77f, - 0xa781, 0xa781, - 0xa783, 0xa783, - 0xa785, 0xa785, - 0xa787, 0xa787, - 0xa78c, 0xa78c, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff41, 0xff5a, - 0x10428, 0x1044f, -}; /* CR_Changes_When_Uppercased */ - -/* 'Changes_When_Titlecased': Derived Property */ -static const OnigCodePoint CR_Changes_When_Titlecased[] = { - 574, - 0x0061, 0x007a, - 0x00b5, 0x00b5, - 0x00df, 0x00f6, - 0x00f8, 0x00ff, - 0x0101, 0x0101, - 0x0103, 0x0103, - 0x0105, 0x0105, - 0x0107, 0x0107, - 0x0109, 0x0109, - 0x010b, 0x010b, - 0x010d, 0x010d, - 0x010f, 0x010f, - 0x0111, 0x0111, - 0x0113, 0x0113, - 0x0115, 0x0115, - 0x0117, 0x0117, - 0x0119, 0x0119, - 0x011b, 0x011b, - 0x011d, 0x011d, - 0x011f, 0x011f, - 0x0121, 0x0121, - 0x0123, 0x0123, - 0x0125, 0x0125, - 0x0127, 0x0127, - 0x0129, 0x0129, - 0x012b, 0x012b, - 0x012d, 0x012d, - 0x012f, 0x012f, - 0x0131, 0x0131, - 0x0133, 0x0133, - 0x0135, 0x0135, - 0x0137, 0x0137, - 0x013a, 0x013a, - 0x013c, 0x013c, - 0x013e, 0x013e, - 0x0140, 0x0140, - 0x0142, 0x0142, - 0x0144, 0x0144, - 0x0146, 0x0146, - 0x0148, 0x0149, - 0x014b, 0x014b, - 0x014d, 0x014d, - 0x014f, 0x014f, - 0x0151, 0x0151, - 0x0153, 0x0153, - 0x0155, 0x0155, - 0x0157, 0x0157, - 0x0159, 0x0159, - 0x015b, 0x015b, - 0x015d, 0x015d, - 0x015f, 0x015f, - 0x0161, 0x0161, - 0x0163, 0x0163, - 0x0165, 0x0165, - 0x0167, 0x0167, - 0x0169, 0x0169, - 0x016b, 0x016b, - 0x016d, 0x016d, - 0x016f, 0x016f, - 0x0171, 0x0171, - 0x0173, 0x0173, - 0x0175, 0x0175, - 0x0177, 0x0177, - 0x017a, 0x017a, - 0x017c, 0x017c, - 0x017e, 0x0180, - 0x0183, 0x0183, - 0x0185, 0x0185, - 0x0188, 0x0188, - 0x018c, 0x018c, - 0x0192, 0x0192, - 0x0195, 0x0195, - 0x0199, 0x019a, - 0x019e, 0x019e, - 0x01a1, 0x01a1, - 0x01a3, 0x01a3, - 0x01a5, 0x01a5, - 0x01a8, 0x01a8, - 0x01ad, 0x01ad, - 0x01b0, 0x01b0, - 0x01b4, 0x01b4, - 0x01b6, 0x01b6, - 0x01b9, 0x01b9, - 0x01bd, 0x01bd, - 0x01bf, 0x01bf, - 0x01c4, 0x01c4, - 0x01c6, 0x01c7, - 0x01c9, 0x01ca, - 0x01cc, 0x01cc, - 0x01ce, 0x01ce, - 0x01d0, 0x01d0, - 0x01d2, 0x01d2, - 0x01d4, 0x01d4, - 0x01d6, 0x01d6, - 0x01d8, 0x01d8, - 0x01da, 0x01da, - 0x01dc, 0x01dd, - 0x01df, 0x01df, - 0x01e1, 0x01e1, - 0x01e3, 0x01e3, - 0x01e5, 0x01e5, - 0x01e7, 0x01e7, - 0x01e9, 0x01e9, - 0x01eb, 0x01eb, - 0x01ed, 0x01ed, - 0x01ef, 0x01f1, - 0x01f3, 0x01f3, - 0x01f5, 0x01f5, - 0x01f9, 0x01f9, - 0x01fb, 0x01fb, - 0x01fd, 0x01fd, - 0x01ff, 0x01ff, - 0x0201, 0x0201, - 0x0203, 0x0203, - 0x0205, 0x0205, - 0x0207, 0x0207, - 0x0209, 0x0209, - 0x020b, 0x020b, - 0x020d, 0x020d, - 0x020f, 0x020f, - 0x0211, 0x0211, - 0x0213, 0x0213, - 0x0215, 0x0215, - 0x0217, 0x0217, - 0x0219, 0x0219, - 0x021b, 0x021b, - 0x021d, 0x021d, - 0x021f, 0x021f, - 0x0223, 0x0223, - 0x0225, 0x0225, - 0x0227, 0x0227, - 0x0229, 0x0229, - 0x022b, 0x022b, - 0x022d, 0x022d, - 0x022f, 0x022f, - 0x0231, 0x0231, - 0x0233, 0x0233, - 0x023c, 0x023c, - 0x023f, 0x0240, - 0x0242, 0x0242, - 0x0247, 0x0247, - 0x0249, 0x0249, - 0x024b, 0x024b, - 0x024d, 0x024d, - 0x024f, 0x0254, - 0x0256, 0x0257, - 0x0259, 0x0259, - 0x025b, 0x025b, - 0x0260, 0x0260, - 0x0263, 0x0263, - 0x0268, 0x0269, - 0x026b, 0x026b, - 0x026f, 0x026f, - 0x0271, 0x0272, - 0x0275, 0x0275, - 0x027d, 0x027d, - 0x0280, 0x0280, - 0x0283, 0x0283, - 0x0288, 0x028c, - 0x0292, 0x0292, - 0x0345, 0x0345, - 0x0371, 0x0371, - 0x0373, 0x0373, - 0x0377, 0x0377, - 0x037b, 0x037d, - 0x0390, 0x0390, - 0x03ac, 0x03ce, - 0x03d0, 0x03d1, - 0x03d5, 0x03d7, - 0x03d9, 0x03d9, - 0x03db, 0x03db, - 0x03dd, 0x03dd, - 0x03df, 0x03df, - 0x03e1, 0x03e1, - 0x03e3, 0x03e3, - 0x03e5, 0x03e5, - 0x03e7, 0x03e7, - 0x03e9, 0x03e9, - 0x03eb, 0x03eb, - 0x03ed, 0x03ed, - 0x03ef, 0x03f2, - 0x03f5, 0x03f5, - 0x03f8, 0x03f8, - 0x03fb, 0x03fb, - 0x0430, 0x045f, - 0x0461, 0x0461, - 0x0463, 0x0463, - 0x0465, 0x0465, - 0x0467, 0x0467, - 0x0469, 0x0469, - 0x046b, 0x046b, - 0x046d, 0x046d, - 0x046f, 0x046f, - 0x0471, 0x0471, - 0x0473, 0x0473, - 0x0475, 0x0475, - 0x0477, 0x0477, - 0x0479, 0x0479, - 0x047b, 0x047b, - 0x047d, 0x047d, - 0x047f, 0x047f, - 0x0481, 0x0481, - 0x048b, 0x048b, - 0x048d, 0x048d, - 0x048f, 0x048f, - 0x0491, 0x0491, - 0x0493, 0x0493, - 0x0495, 0x0495, - 0x0497, 0x0497, - 0x0499, 0x0499, - 0x049b, 0x049b, - 0x049d, 0x049d, - 0x049f, 0x049f, - 0x04a1, 0x04a1, - 0x04a3, 0x04a3, - 0x04a5, 0x04a5, - 0x04a7, 0x04a7, - 0x04a9, 0x04a9, - 0x04ab, 0x04ab, - 0x04ad, 0x04ad, - 0x04af, 0x04af, - 0x04b1, 0x04b1, - 0x04b3, 0x04b3, - 0x04b5, 0x04b5, - 0x04b7, 0x04b7, - 0x04b9, 0x04b9, - 0x04bb, 0x04bb, - 0x04bd, 0x04bd, - 0x04bf, 0x04bf, - 0x04c2, 0x04c2, - 0x04c4, 0x04c4, - 0x04c6, 0x04c6, - 0x04c8, 0x04c8, - 0x04ca, 0x04ca, - 0x04cc, 0x04cc, - 0x04ce, 0x04cf, - 0x04d1, 0x04d1, - 0x04d3, 0x04d3, - 0x04d5, 0x04d5, - 0x04d7, 0x04d7, - 0x04d9, 0x04d9, - 0x04db, 0x04db, - 0x04dd, 0x04dd, - 0x04df, 0x04df, - 0x04e1, 0x04e1, - 0x04e3, 0x04e3, - 0x04e5, 0x04e5, - 0x04e7, 0x04e7, - 0x04e9, 0x04e9, - 0x04eb, 0x04eb, - 0x04ed, 0x04ed, - 0x04ef, 0x04ef, - 0x04f1, 0x04f1, - 0x04f3, 0x04f3, - 0x04f5, 0x04f5, - 0x04f7, 0x04f7, - 0x04f9, 0x04f9, - 0x04fb, 0x04fb, - 0x04fd, 0x04fd, - 0x04ff, 0x04ff, - 0x0501, 0x0501, - 0x0503, 0x0503, - 0x0505, 0x0505, - 0x0507, 0x0507, - 0x0509, 0x0509, - 0x050b, 0x050b, - 0x050d, 0x050d, - 0x050f, 0x050f, - 0x0511, 0x0511, - 0x0513, 0x0513, - 0x0515, 0x0515, - 0x0517, 0x0517, - 0x0519, 0x0519, - 0x051b, 0x051b, - 0x051d, 0x051d, - 0x051f, 0x051f, - 0x0521, 0x0521, - 0x0523, 0x0523, - 0x0525, 0x0525, - 0x0561, 0x0587, - 0x1d79, 0x1d79, - 0x1d7d, 0x1d7d, - 0x1e01, 0x1e01, - 0x1e03, 0x1e03, - 0x1e05, 0x1e05, - 0x1e07, 0x1e07, - 0x1e09, 0x1e09, - 0x1e0b, 0x1e0b, - 0x1e0d, 0x1e0d, - 0x1e0f, 0x1e0f, - 0x1e11, 0x1e11, - 0x1e13, 0x1e13, - 0x1e15, 0x1e15, - 0x1e17, 0x1e17, - 0x1e19, 0x1e19, - 0x1e1b, 0x1e1b, - 0x1e1d, 0x1e1d, - 0x1e1f, 0x1e1f, - 0x1e21, 0x1e21, - 0x1e23, 0x1e23, - 0x1e25, 0x1e25, - 0x1e27, 0x1e27, - 0x1e29, 0x1e29, - 0x1e2b, 0x1e2b, - 0x1e2d, 0x1e2d, - 0x1e2f, 0x1e2f, - 0x1e31, 0x1e31, - 0x1e33, 0x1e33, - 0x1e35, 0x1e35, - 0x1e37, 0x1e37, - 0x1e39, 0x1e39, - 0x1e3b, 0x1e3b, - 0x1e3d, 0x1e3d, - 0x1e3f, 0x1e3f, - 0x1e41, 0x1e41, - 0x1e43, 0x1e43, - 0x1e45, 0x1e45, - 0x1e47, 0x1e47, - 0x1e49, 0x1e49, - 0x1e4b, 0x1e4b, - 0x1e4d, 0x1e4d, - 0x1e4f, 0x1e4f, - 0x1e51, 0x1e51, - 0x1e53, 0x1e53, - 0x1e55, 0x1e55, - 0x1e57, 0x1e57, - 0x1e59, 0x1e59, - 0x1e5b, 0x1e5b, - 0x1e5d, 0x1e5d, - 0x1e5f, 0x1e5f, - 0x1e61, 0x1e61, - 0x1e63, 0x1e63, - 0x1e65, 0x1e65, - 0x1e67, 0x1e67, - 0x1e69, 0x1e69, - 0x1e6b, 0x1e6b, - 0x1e6d, 0x1e6d, - 0x1e6f, 0x1e6f, - 0x1e71, 0x1e71, - 0x1e73, 0x1e73, - 0x1e75, 0x1e75, - 0x1e77, 0x1e77, - 0x1e79, 0x1e79, - 0x1e7b, 0x1e7b, - 0x1e7d, 0x1e7d, - 0x1e7f, 0x1e7f, - 0x1e81, 0x1e81, - 0x1e83, 0x1e83, - 0x1e85, 0x1e85, - 0x1e87, 0x1e87, - 0x1e89, 0x1e89, - 0x1e8b, 0x1e8b, - 0x1e8d, 0x1e8d, - 0x1e8f, 0x1e8f, - 0x1e91, 0x1e91, - 0x1e93, 0x1e93, - 0x1e95, 0x1e9b, - 0x1ea1, 0x1ea1, - 0x1ea3, 0x1ea3, - 0x1ea5, 0x1ea5, - 0x1ea7, 0x1ea7, - 0x1ea9, 0x1ea9, - 0x1eab, 0x1eab, - 0x1ead, 0x1ead, - 0x1eaf, 0x1eaf, - 0x1eb1, 0x1eb1, - 0x1eb3, 0x1eb3, - 0x1eb5, 0x1eb5, - 0x1eb7, 0x1eb7, - 0x1eb9, 0x1eb9, - 0x1ebb, 0x1ebb, - 0x1ebd, 0x1ebd, - 0x1ebf, 0x1ebf, - 0x1ec1, 0x1ec1, - 0x1ec3, 0x1ec3, - 0x1ec5, 0x1ec5, - 0x1ec7, 0x1ec7, - 0x1ec9, 0x1ec9, - 0x1ecb, 0x1ecb, - 0x1ecd, 0x1ecd, - 0x1ecf, 0x1ecf, - 0x1ed1, 0x1ed1, - 0x1ed3, 0x1ed3, - 0x1ed5, 0x1ed5, - 0x1ed7, 0x1ed7, - 0x1ed9, 0x1ed9, - 0x1edb, 0x1edb, - 0x1edd, 0x1edd, - 0x1edf, 0x1edf, - 0x1ee1, 0x1ee1, - 0x1ee3, 0x1ee3, - 0x1ee5, 0x1ee5, - 0x1ee7, 0x1ee7, - 0x1ee9, 0x1ee9, - 0x1eeb, 0x1eeb, - 0x1eed, 0x1eed, - 0x1eef, 0x1eef, - 0x1ef1, 0x1ef1, - 0x1ef3, 0x1ef3, - 0x1ef5, 0x1ef5, - 0x1ef7, 0x1ef7, - 0x1ef9, 0x1ef9, - 0x1efb, 0x1efb, - 0x1efd, 0x1efd, - 0x1eff, 0x1f07, - 0x1f10, 0x1f15, - 0x1f20, 0x1f27, - 0x1f30, 0x1f37, - 0x1f40, 0x1f45, - 0x1f50, 0x1f57, - 0x1f60, 0x1f67, - 0x1f70, 0x1f7d, - 0x1f80, 0x1f87, - 0x1f90, 0x1f97, - 0x1fa0, 0x1fa7, - 0x1fb0, 0x1fb4, - 0x1fb6, 0x1fb7, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fc7, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fd7, - 0x1fe0, 0x1fe7, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ff7, - 0x214e, 0x214e, - 0x2170, 0x217f, - 0x2184, 0x2184, - 0x24d0, 0x24e9, - 0x2c30, 0x2c5e, - 0x2c61, 0x2c61, - 0x2c65, 0x2c66, - 0x2c68, 0x2c68, - 0x2c6a, 0x2c6a, - 0x2c6c, 0x2c6c, - 0x2c73, 0x2c73, - 0x2c76, 0x2c76, - 0x2c81, 0x2c81, - 0x2c83, 0x2c83, - 0x2c85, 0x2c85, - 0x2c87, 0x2c87, - 0x2c89, 0x2c89, - 0x2c8b, 0x2c8b, - 0x2c8d, 0x2c8d, - 0x2c8f, 0x2c8f, - 0x2c91, 0x2c91, - 0x2c93, 0x2c93, - 0x2c95, 0x2c95, - 0x2c97, 0x2c97, - 0x2c99, 0x2c99, - 0x2c9b, 0x2c9b, - 0x2c9d, 0x2c9d, - 0x2c9f, 0x2c9f, - 0x2ca1, 0x2ca1, - 0x2ca3, 0x2ca3, - 0x2ca5, 0x2ca5, - 0x2ca7, 0x2ca7, - 0x2ca9, 0x2ca9, - 0x2cab, 0x2cab, - 0x2cad, 0x2cad, - 0x2caf, 0x2caf, - 0x2cb1, 0x2cb1, - 0x2cb3, 0x2cb3, - 0x2cb5, 0x2cb5, - 0x2cb7, 0x2cb7, - 0x2cb9, 0x2cb9, - 0x2cbb, 0x2cbb, - 0x2cbd, 0x2cbd, - 0x2cbf, 0x2cbf, - 0x2cc1, 0x2cc1, - 0x2cc3, 0x2cc3, - 0x2cc5, 0x2cc5, - 0x2cc7, 0x2cc7, - 0x2cc9, 0x2cc9, - 0x2ccb, 0x2ccb, - 0x2ccd, 0x2ccd, - 0x2ccf, 0x2ccf, - 0x2cd1, 0x2cd1, - 0x2cd3, 0x2cd3, - 0x2cd5, 0x2cd5, - 0x2cd7, 0x2cd7, - 0x2cd9, 0x2cd9, - 0x2cdb, 0x2cdb, - 0x2cdd, 0x2cdd, - 0x2cdf, 0x2cdf, - 0x2ce1, 0x2ce1, - 0x2ce3, 0x2ce3, - 0x2cec, 0x2cec, - 0x2cee, 0x2cee, - 0x2d00, 0x2d25, - 0xa641, 0xa641, - 0xa643, 0xa643, - 0xa645, 0xa645, - 0xa647, 0xa647, - 0xa649, 0xa649, - 0xa64b, 0xa64b, - 0xa64d, 0xa64d, - 0xa64f, 0xa64f, - 0xa651, 0xa651, - 0xa653, 0xa653, - 0xa655, 0xa655, - 0xa657, 0xa657, - 0xa659, 0xa659, - 0xa65b, 0xa65b, - 0xa65d, 0xa65d, - 0xa65f, 0xa65f, - 0xa663, 0xa663, - 0xa665, 0xa665, - 0xa667, 0xa667, - 0xa669, 0xa669, - 0xa66b, 0xa66b, - 0xa66d, 0xa66d, - 0xa681, 0xa681, - 0xa683, 0xa683, - 0xa685, 0xa685, - 0xa687, 0xa687, - 0xa689, 0xa689, - 0xa68b, 0xa68b, - 0xa68d, 0xa68d, - 0xa68f, 0xa68f, - 0xa691, 0xa691, - 0xa693, 0xa693, - 0xa695, 0xa695, - 0xa697, 0xa697, - 0xa723, 0xa723, - 0xa725, 0xa725, - 0xa727, 0xa727, - 0xa729, 0xa729, - 0xa72b, 0xa72b, - 0xa72d, 0xa72d, - 0xa72f, 0xa72f, - 0xa733, 0xa733, - 0xa735, 0xa735, - 0xa737, 0xa737, - 0xa739, 0xa739, - 0xa73b, 0xa73b, - 0xa73d, 0xa73d, - 0xa73f, 0xa73f, - 0xa741, 0xa741, - 0xa743, 0xa743, - 0xa745, 0xa745, - 0xa747, 0xa747, - 0xa749, 0xa749, - 0xa74b, 0xa74b, - 0xa74d, 0xa74d, - 0xa74f, 0xa74f, - 0xa751, 0xa751, - 0xa753, 0xa753, - 0xa755, 0xa755, - 0xa757, 0xa757, - 0xa759, 0xa759, - 0xa75b, 0xa75b, - 0xa75d, 0xa75d, - 0xa75f, 0xa75f, - 0xa761, 0xa761, - 0xa763, 0xa763, - 0xa765, 0xa765, - 0xa767, 0xa767, - 0xa769, 0xa769, - 0xa76b, 0xa76b, - 0xa76d, 0xa76d, - 0xa76f, 0xa76f, - 0xa77a, 0xa77a, - 0xa77c, 0xa77c, - 0xa77f, 0xa77f, - 0xa781, 0xa781, - 0xa783, 0xa783, - 0xa785, 0xa785, - 0xa787, 0xa787, - 0xa78c, 0xa78c, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff41, 0xff5a, - 0x10428, 0x1044f, -}; /* CR_Changes_When_Titlecased */ - -/* 'Changes_When_Casefolded': Derived Property */ -static const OnigCodePoint CR_Changes_When_Casefolded[] = { - 568, - 0x0041, 0x005a, - 0x00b5, 0x00b5, - 0x00c0, 0x00d6, - 0x00d8, 0x00df, - 0x0100, 0x0100, - 0x0102, 0x0102, - 0x0104, 0x0104, - 0x0106, 0x0106, - 0x0108, 0x0108, - 0x010a, 0x010a, - 0x010c, 0x010c, - 0x010e, 0x010e, - 0x0110, 0x0110, - 0x0112, 0x0112, - 0x0114, 0x0114, - 0x0116, 0x0116, - 0x0118, 0x0118, - 0x011a, 0x011a, - 0x011c, 0x011c, - 0x011e, 0x011e, - 0x0120, 0x0120, - 0x0122, 0x0122, - 0x0124, 0x0124, - 0x0126, 0x0126, - 0x0128, 0x0128, - 0x012a, 0x012a, - 0x012c, 0x012c, - 0x012e, 0x012e, - 0x0130, 0x0130, - 0x0132, 0x0132, - 0x0134, 0x0134, - 0x0136, 0x0136, - 0x0139, 0x0139, - 0x013b, 0x013b, - 0x013d, 0x013d, - 0x013f, 0x013f, - 0x0141, 0x0141, - 0x0143, 0x0143, - 0x0145, 0x0145, - 0x0147, 0x0147, - 0x0149, 0x014a, - 0x014c, 0x014c, - 0x014e, 0x014e, - 0x0150, 0x0150, - 0x0152, 0x0152, - 0x0154, 0x0154, - 0x0156, 0x0156, - 0x0158, 0x0158, - 0x015a, 0x015a, - 0x015c, 0x015c, - 0x015e, 0x015e, - 0x0160, 0x0160, - 0x0162, 0x0162, - 0x0164, 0x0164, - 0x0166, 0x0166, - 0x0168, 0x0168, - 0x016a, 0x016a, - 0x016c, 0x016c, - 0x016e, 0x016e, - 0x0170, 0x0170, - 0x0172, 0x0172, - 0x0174, 0x0174, - 0x0176, 0x0176, - 0x0178, 0x0179, - 0x017b, 0x017b, - 0x017d, 0x017d, - 0x017f, 0x017f, - 0x0181, 0x0182, - 0x0184, 0x0184, - 0x0186, 0x0187, - 0x0189, 0x018b, - 0x018e, 0x0191, - 0x0193, 0x0194, - 0x0196, 0x0198, - 0x019c, 0x019d, - 0x019f, 0x01a0, - 0x01a2, 0x01a2, - 0x01a4, 0x01a4, - 0x01a6, 0x01a7, - 0x01a9, 0x01a9, - 0x01ac, 0x01ac, - 0x01ae, 0x01af, - 0x01b1, 0x01b3, - 0x01b5, 0x01b5, - 0x01b7, 0x01b8, - 0x01bc, 0x01bc, - 0x01c4, 0x01c5, - 0x01c7, 0x01c8, - 0x01ca, 0x01cb, - 0x01cd, 0x01cd, - 0x01cf, 0x01cf, - 0x01d1, 0x01d1, - 0x01d3, 0x01d3, - 0x01d5, 0x01d5, - 0x01d7, 0x01d7, - 0x01d9, 0x01d9, - 0x01db, 0x01db, - 0x01de, 0x01de, - 0x01e0, 0x01e0, - 0x01e2, 0x01e2, - 0x01e4, 0x01e4, - 0x01e6, 0x01e6, - 0x01e8, 0x01e8, - 0x01ea, 0x01ea, - 0x01ec, 0x01ec, - 0x01ee, 0x01ee, - 0x01f1, 0x01f2, - 0x01f4, 0x01f4, - 0x01f6, 0x01f8, - 0x01fa, 0x01fa, - 0x01fc, 0x01fc, - 0x01fe, 0x01fe, - 0x0200, 0x0200, - 0x0202, 0x0202, - 0x0204, 0x0204, - 0x0206, 0x0206, - 0x0208, 0x0208, - 0x020a, 0x020a, - 0x020c, 0x020c, - 0x020e, 0x020e, - 0x0210, 0x0210, - 0x0212, 0x0212, - 0x0214, 0x0214, - 0x0216, 0x0216, - 0x0218, 0x0218, - 0x021a, 0x021a, - 0x021c, 0x021c, - 0x021e, 0x021e, - 0x0220, 0x0220, - 0x0222, 0x0222, - 0x0224, 0x0224, - 0x0226, 0x0226, - 0x0228, 0x0228, - 0x022a, 0x022a, - 0x022c, 0x022c, - 0x022e, 0x022e, - 0x0230, 0x0230, - 0x0232, 0x0232, - 0x023a, 0x023b, - 0x023d, 0x023e, - 0x0241, 0x0241, - 0x0243, 0x0246, - 0x0248, 0x0248, - 0x024a, 0x024a, - 0x024c, 0x024c, - 0x024e, 0x024e, - 0x0345, 0x0345, - 0x0370, 0x0370, - 0x0372, 0x0372, - 0x0376, 0x0376, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x038f, - 0x0391, 0x03a1, - 0x03a3, 0x03ab, - 0x03c2, 0x03c2, - 0x03cf, 0x03d1, - 0x03d5, 0x03d6, - 0x03d8, 0x03d8, - 0x03da, 0x03da, - 0x03dc, 0x03dc, - 0x03de, 0x03de, - 0x03e0, 0x03e0, - 0x03e2, 0x03e2, - 0x03e4, 0x03e4, - 0x03e6, 0x03e6, - 0x03e8, 0x03e8, - 0x03ea, 0x03ea, - 0x03ec, 0x03ec, - 0x03ee, 0x03ee, - 0x03f0, 0x03f1, - 0x03f4, 0x03f5, - 0x03f7, 0x03f7, - 0x03f9, 0x03fa, - 0x03fd, 0x042f, - 0x0460, 0x0460, - 0x0462, 0x0462, - 0x0464, 0x0464, - 0x0466, 0x0466, - 0x0468, 0x0468, - 0x046a, 0x046a, - 0x046c, 0x046c, - 0x046e, 0x046e, - 0x0470, 0x0470, - 0x0472, 0x0472, - 0x0474, 0x0474, - 0x0476, 0x0476, - 0x0478, 0x0478, - 0x047a, 0x047a, - 0x047c, 0x047c, - 0x047e, 0x047e, - 0x0480, 0x0480, - 0x048a, 0x048a, - 0x048c, 0x048c, - 0x048e, 0x048e, - 0x0490, 0x0490, - 0x0492, 0x0492, - 0x0494, 0x0494, - 0x0496, 0x0496, - 0x0498, 0x0498, - 0x049a, 0x049a, - 0x049c, 0x049c, - 0x049e, 0x049e, - 0x04a0, 0x04a0, - 0x04a2, 0x04a2, - 0x04a4, 0x04a4, - 0x04a6, 0x04a6, - 0x04a8, 0x04a8, - 0x04aa, 0x04aa, - 0x04ac, 0x04ac, - 0x04ae, 0x04ae, - 0x04b0, 0x04b0, - 0x04b2, 0x04b2, - 0x04b4, 0x04b4, - 0x04b6, 0x04b6, - 0x04b8, 0x04b8, - 0x04ba, 0x04ba, - 0x04bc, 0x04bc, - 0x04be, 0x04be, - 0x04c0, 0x04c1, - 0x04c3, 0x04c3, - 0x04c5, 0x04c5, - 0x04c7, 0x04c7, - 0x04c9, 0x04c9, - 0x04cb, 0x04cb, - 0x04cd, 0x04cd, - 0x04d0, 0x04d0, - 0x04d2, 0x04d2, - 0x04d4, 0x04d4, - 0x04d6, 0x04d6, - 0x04d8, 0x04d8, - 0x04da, 0x04da, - 0x04dc, 0x04dc, - 0x04de, 0x04de, - 0x04e0, 0x04e0, - 0x04e2, 0x04e2, - 0x04e4, 0x04e4, - 0x04e6, 0x04e6, - 0x04e8, 0x04e8, - 0x04ea, 0x04ea, - 0x04ec, 0x04ec, - 0x04ee, 0x04ee, - 0x04f0, 0x04f0, - 0x04f2, 0x04f2, - 0x04f4, 0x04f4, - 0x04f6, 0x04f6, - 0x04f8, 0x04f8, - 0x04fa, 0x04fa, - 0x04fc, 0x04fc, - 0x04fe, 0x04fe, - 0x0500, 0x0500, - 0x0502, 0x0502, - 0x0504, 0x0504, - 0x0506, 0x0506, - 0x0508, 0x0508, - 0x050a, 0x050a, - 0x050c, 0x050c, - 0x050e, 0x050e, - 0x0510, 0x0510, - 0x0512, 0x0512, - 0x0514, 0x0514, - 0x0516, 0x0516, - 0x0518, 0x0518, - 0x051a, 0x051a, - 0x051c, 0x051c, - 0x051e, 0x051e, - 0x0520, 0x0520, - 0x0522, 0x0522, - 0x0524, 0x0524, - 0x0531, 0x0556, - 0x0587, 0x0587, - 0x10a0, 0x10c5, - 0x1e00, 0x1e00, - 0x1e02, 0x1e02, - 0x1e04, 0x1e04, - 0x1e06, 0x1e06, - 0x1e08, 0x1e08, - 0x1e0a, 0x1e0a, - 0x1e0c, 0x1e0c, - 0x1e0e, 0x1e0e, - 0x1e10, 0x1e10, - 0x1e12, 0x1e12, - 0x1e14, 0x1e14, - 0x1e16, 0x1e16, - 0x1e18, 0x1e18, - 0x1e1a, 0x1e1a, - 0x1e1c, 0x1e1c, - 0x1e1e, 0x1e1e, - 0x1e20, 0x1e20, - 0x1e22, 0x1e22, - 0x1e24, 0x1e24, - 0x1e26, 0x1e26, - 0x1e28, 0x1e28, - 0x1e2a, 0x1e2a, - 0x1e2c, 0x1e2c, - 0x1e2e, 0x1e2e, - 0x1e30, 0x1e30, - 0x1e32, 0x1e32, - 0x1e34, 0x1e34, - 0x1e36, 0x1e36, - 0x1e38, 0x1e38, - 0x1e3a, 0x1e3a, - 0x1e3c, 0x1e3c, - 0x1e3e, 0x1e3e, - 0x1e40, 0x1e40, - 0x1e42, 0x1e42, - 0x1e44, 0x1e44, - 0x1e46, 0x1e46, - 0x1e48, 0x1e48, - 0x1e4a, 0x1e4a, - 0x1e4c, 0x1e4c, - 0x1e4e, 0x1e4e, - 0x1e50, 0x1e50, - 0x1e52, 0x1e52, - 0x1e54, 0x1e54, - 0x1e56, 0x1e56, - 0x1e58, 0x1e58, - 0x1e5a, 0x1e5a, - 0x1e5c, 0x1e5c, - 0x1e5e, 0x1e5e, - 0x1e60, 0x1e60, - 0x1e62, 0x1e62, - 0x1e64, 0x1e64, - 0x1e66, 0x1e66, - 0x1e68, 0x1e68, - 0x1e6a, 0x1e6a, - 0x1e6c, 0x1e6c, - 0x1e6e, 0x1e6e, - 0x1e70, 0x1e70, - 0x1e72, 0x1e72, - 0x1e74, 0x1e74, - 0x1e76, 0x1e76, - 0x1e78, 0x1e78, - 0x1e7a, 0x1e7a, - 0x1e7c, 0x1e7c, - 0x1e7e, 0x1e7e, - 0x1e80, 0x1e80, - 0x1e82, 0x1e82, - 0x1e84, 0x1e84, - 0x1e86, 0x1e86, - 0x1e88, 0x1e88, - 0x1e8a, 0x1e8a, - 0x1e8c, 0x1e8c, - 0x1e8e, 0x1e8e, - 0x1e90, 0x1e90, - 0x1e92, 0x1e92, - 0x1e94, 0x1e94, - 0x1e9a, 0x1e9b, - 0x1e9e, 0x1e9e, - 0x1ea0, 0x1ea0, - 0x1ea2, 0x1ea2, - 0x1ea4, 0x1ea4, - 0x1ea6, 0x1ea6, - 0x1ea8, 0x1ea8, - 0x1eaa, 0x1eaa, - 0x1eac, 0x1eac, - 0x1eae, 0x1eae, - 0x1eb0, 0x1eb0, - 0x1eb2, 0x1eb2, - 0x1eb4, 0x1eb4, - 0x1eb6, 0x1eb6, - 0x1eb8, 0x1eb8, - 0x1eba, 0x1eba, - 0x1ebc, 0x1ebc, - 0x1ebe, 0x1ebe, - 0x1ec0, 0x1ec0, - 0x1ec2, 0x1ec2, - 0x1ec4, 0x1ec4, - 0x1ec6, 0x1ec6, - 0x1ec8, 0x1ec8, - 0x1eca, 0x1eca, - 0x1ecc, 0x1ecc, - 0x1ece, 0x1ece, - 0x1ed0, 0x1ed0, - 0x1ed2, 0x1ed2, - 0x1ed4, 0x1ed4, - 0x1ed6, 0x1ed6, - 0x1ed8, 0x1ed8, - 0x1eda, 0x1eda, - 0x1edc, 0x1edc, - 0x1ede, 0x1ede, - 0x1ee0, 0x1ee0, - 0x1ee2, 0x1ee2, - 0x1ee4, 0x1ee4, - 0x1ee6, 0x1ee6, - 0x1ee8, 0x1ee8, - 0x1eea, 0x1eea, - 0x1eec, 0x1eec, - 0x1eee, 0x1eee, - 0x1ef0, 0x1ef0, - 0x1ef2, 0x1ef2, - 0x1ef4, 0x1ef4, - 0x1ef6, 0x1ef6, - 0x1ef8, 0x1ef8, - 0x1efa, 0x1efa, - 0x1efc, 0x1efc, - 0x1efe, 0x1efe, - 0x1f08, 0x1f0f, - 0x1f18, 0x1f1d, - 0x1f28, 0x1f2f, - 0x1f38, 0x1f3f, - 0x1f48, 0x1f4d, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f5f, - 0x1f68, 0x1f6f, - 0x1f80, 0x1faf, - 0x1fb2, 0x1fb4, - 0x1fb7, 0x1fbc, - 0x1fc2, 0x1fc4, - 0x1fc7, 0x1fcc, - 0x1fd8, 0x1fdb, - 0x1fe8, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff7, 0x1ffc, - 0x2126, 0x2126, - 0x212a, 0x212b, - 0x2132, 0x2132, - 0x2160, 0x216f, - 0x2183, 0x2183, - 0x24b6, 0x24cf, - 0x2c00, 0x2c2e, - 0x2c60, 0x2c60, - 0x2c62, 0x2c64, - 0x2c67, 0x2c67, - 0x2c69, 0x2c69, - 0x2c6b, 0x2c6b, - 0x2c6d, 0x2c70, - 0x2c72, 0x2c72, - 0x2c75, 0x2c75, - 0x2c7e, 0x2c80, - 0x2c82, 0x2c82, - 0x2c84, 0x2c84, - 0x2c86, 0x2c86, - 0x2c88, 0x2c88, - 0x2c8a, 0x2c8a, - 0x2c8c, 0x2c8c, - 0x2c8e, 0x2c8e, - 0x2c90, 0x2c90, - 0x2c92, 0x2c92, - 0x2c94, 0x2c94, - 0x2c96, 0x2c96, - 0x2c98, 0x2c98, - 0x2c9a, 0x2c9a, - 0x2c9c, 0x2c9c, - 0x2c9e, 0x2c9e, - 0x2ca0, 0x2ca0, - 0x2ca2, 0x2ca2, - 0x2ca4, 0x2ca4, - 0x2ca6, 0x2ca6, - 0x2ca8, 0x2ca8, - 0x2caa, 0x2caa, - 0x2cac, 0x2cac, - 0x2cae, 0x2cae, - 0x2cb0, 0x2cb0, - 0x2cb2, 0x2cb2, - 0x2cb4, 0x2cb4, - 0x2cb6, 0x2cb6, - 0x2cb8, 0x2cb8, - 0x2cba, 0x2cba, - 0x2cbc, 0x2cbc, - 0x2cbe, 0x2cbe, - 0x2cc0, 0x2cc0, - 0x2cc2, 0x2cc2, - 0x2cc4, 0x2cc4, - 0x2cc6, 0x2cc6, - 0x2cc8, 0x2cc8, - 0x2cca, 0x2cca, - 0x2ccc, 0x2ccc, - 0x2cce, 0x2cce, - 0x2cd0, 0x2cd0, - 0x2cd2, 0x2cd2, - 0x2cd4, 0x2cd4, - 0x2cd6, 0x2cd6, - 0x2cd8, 0x2cd8, - 0x2cda, 0x2cda, - 0x2cdc, 0x2cdc, - 0x2cde, 0x2cde, - 0x2ce0, 0x2ce0, - 0x2ce2, 0x2ce2, - 0x2ceb, 0x2ceb, - 0x2ced, 0x2ced, - 0xa640, 0xa640, - 0xa642, 0xa642, - 0xa644, 0xa644, - 0xa646, 0xa646, - 0xa648, 0xa648, - 0xa64a, 0xa64a, - 0xa64c, 0xa64c, - 0xa64e, 0xa64e, - 0xa650, 0xa650, - 0xa652, 0xa652, - 0xa654, 0xa654, - 0xa656, 0xa656, - 0xa658, 0xa658, - 0xa65a, 0xa65a, - 0xa65c, 0xa65c, - 0xa65e, 0xa65e, - 0xa662, 0xa662, - 0xa664, 0xa664, - 0xa666, 0xa666, - 0xa668, 0xa668, - 0xa66a, 0xa66a, - 0xa66c, 0xa66c, - 0xa680, 0xa680, - 0xa682, 0xa682, - 0xa684, 0xa684, - 0xa686, 0xa686, - 0xa688, 0xa688, - 0xa68a, 0xa68a, - 0xa68c, 0xa68c, - 0xa68e, 0xa68e, - 0xa690, 0xa690, - 0xa692, 0xa692, - 0xa694, 0xa694, - 0xa696, 0xa696, - 0xa722, 0xa722, - 0xa724, 0xa724, - 0xa726, 0xa726, - 0xa728, 0xa728, - 0xa72a, 0xa72a, - 0xa72c, 0xa72c, - 0xa72e, 0xa72e, - 0xa732, 0xa732, - 0xa734, 0xa734, - 0xa736, 0xa736, - 0xa738, 0xa738, - 0xa73a, 0xa73a, - 0xa73c, 0xa73c, - 0xa73e, 0xa73e, - 0xa740, 0xa740, - 0xa742, 0xa742, - 0xa744, 0xa744, - 0xa746, 0xa746, - 0xa748, 0xa748, - 0xa74a, 0xa74a, - 0xa74c, 0xa74c, - 0xa74e, 0xa74e, - 0xa750, 0xa750, - 0xa752, 0xa752, - 0xa754, 0xa754, - 0xa756, 0xa756, - 0xa758, 0xa758, - 0xa75a, 0xa75a, - 0xa75c, 0xa75c, - 0xa75e, 0xa75e, - 0xa760, 0xa760, - 0xa762, 0xa762, - 0xa764, 0xa764, - 0xa766, 0xa766, - 0xa768, 0xa768, - 0xa76a, 0xa76a, - 0xa76c, 0xa76c, - 0xa76e, 0xa76e, - 0xa779, 0xa779, - 0xa77b, 0xa77b, - 0xa77d, 0xa77e, - 0xa780, 0xa780, - 0xa782, 0xa782, - 0xa784, 0xa784, - 0xa786, 0xa786, - 0xa78b, 0xa78b, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff21, 0xff3a, - 0x10400, 0x10427, -}; /* CR_Changes_When_Casefolded */ - -/* 'Changes_When_Casemapped': Derived Property */ -static const OnigCodePoint CR_Changes_When_Casemapped[] = { - 97, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00b5, 0x00b5, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x0137, - 0x0139, 0x018c, - 0x018e, 0x019a, - 0x019c, 0x01a9, - 0x01ac, 0x01b9, - 0x01bc, 0x01bd, - 0x01bf, 0x01bf, - 0x01c4, 0x0220, - 0x0222, 0x0233, - 0x023a, 0x0254, - 0x0256, 0x0257, - 0x0259, 0x0259, - 0x025b, 0x025b, - 0x0260, 0x0260, - 0x0263, 0x0263, - 0x0268, 0x0269, - 0x026b, 0x026b, - 0x026f, 0x026f, - 0x0271, 0x0272, - 0x0275, 0x0275, - 0x027d, 0x027d, - 0x0280, 0x0280, - 0x0283, 0x0283, - 0x0288, 0x028c, - 0x0292, 0x0292, - 0x0345, 0x0345, - 0x0370, 0x0373, - 0x0376, 0x0377, - 0x037b, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03d1, - 0x03d5, 0x03f2, - 0x03f4, 0x03f5, - 0x03f7, 0x03fb, - 0x03fd, 0x0481, - 0x048a, 0x0525, - 0x0531, 0x0556, - 0x0561, 0x0587, - 0x10a0, 0x10c5, - 0x1d79, 0x1d79, - 0x1d7d, 0x1d7d, - 0x1e00, 0x1e9b, - 0x1e9e, 0x1e9e, - 0x1ea0, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2126, 0x2126, - 0x212a, 0x212b, - 0x2132, 0x2132, - 0x214e, 0x214e, - 0x2160, 0x217f, - 0x2183, 0x2184, - 0x24b6, 0x24e9, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2c70, - 0x2c72, 0x2c73, - 0x2c75, 0x2c76, - 0x2c7e, 0x2ce3, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0xa640, 0xa65f, - 0xa662, 0xa66d, - 0xa680, 0xa697, - 0xa722, 0xa72f, - 0xa732, 0xa76f, - 0xa779, 0xa787, - 0xa78b, 0xa78c, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0x10400, 0x1044f, -}; /* CR_Changes_When_Casemapped */ - -/* 'ID_Start': Derived Property */ -static const OnigCodePoint CR_ID_Start[] = { - 424, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0370, 0x0374, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x048a, 0x0525, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0621, 0x064a, - 0x066e, 0x066f, - 0x0671, 0x06d3, - 0x06d5, 0x06d5, - 0x06e5, 0x06e6, - 0x06ee, 0x06ef, - 0x06fa, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x0710, - 0x0712, 0x072f, - 0x074d, 0x07a5, - 0x07b1, 0x07b1, - 0x07ca, 0x07ea, - 0x07f4, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x0815, - 0x081a, 0x081a, - 0x0824, 0x0824, - 0x0828, 0x0828, - 0x0904, 0x0939, - 0x093d, 0x093d, - 0x0950, 0x0950, - 0x0958, 0x0961, - 0x0971, 0x0972, - 0x0979, 0x097f, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bd, 0x09bd, - 0x09ce, 0x09ce, - 0x09dc, 0x09dd, - 0x09df, 0x09e1, - 0x09f0, 0x09f1, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a72, 0x0a74, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abd, 0x0abd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae1, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3d, 0x0b3d, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, - 0x0b71, 0x0b71, - 0x0b83, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bd0, 0x0bd0, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c3d, - 0x0c58, 0x0c59, - 0x0c60, 0x0c61, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cbd, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d3d, - 0x0d60, 0x0d61, - 0x0d7a, 0x0d7f, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0e01, 0x0e30, - 0x0e32, 0x0e33, - 0x0e40, 0x0e46, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb0, - 0x0eb2, 0x0eb3, - 0x0ebd, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f40, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f88, 0x0f8b, - 0x1000, 0x102a, - 0x103f, 0x103f, - 0x1050, 0x1055, - 0x105a, 0x105d, - 0x1061, 0x1061, - 0x1065, 0x1066, - 0x106e, 0x1070, - 0x1075, 0x1081, - 0x108e, 0x108e, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1711, - 0x1720, 0x1731, - 0x1740, 0x1751, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1780, 0x17b3, - 0x17d7, 0x17d7, - 0x17dc, 0x17dc, - 0x1820, 0x1877, - 0x1880, 0x18a8, - 0x18aa, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1950, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19c1, 0x19c7, - 0x1a00, 0x1a16, - 0x1a20, 0x1a54, - 0x1aa7, 0x1aa7, - 0x1b05, 0x1b33, - 0x1b45, 0x1b4b, - 0x1b83, 0x1ba0, - 0x1bae, 0x1baf, - 0x1c00, 0x1c23, - 0x1c4d, 0x1c4f, - 0x1c5a, 0x1c7d, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf1, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x2094, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2118, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x3005, 0x3007, - 0x3021, 0x3029, - 0x3031, 0x3035, - 0x3038, 0x303c, - 0x3041, 0x3096, - 0x309b, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31b7, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa61f, - 0xa62a, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa66e, - 0xa67f, 0xa697, - 0xa6a0, 0xa6ef, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78c, - 0xa7fb, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa822, - 0xa840, 0xa873, - 0xa882, 0xa8b3, - 0xa8f2, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa90a, 0xa925, - 0xa930, 0xa946, - 0xa960, 0xa97c, - 0xa984, 0xa9b2, - 0xa9cf, 0xa9cf, - 0xaa00, 0xaa28, - 0xaa40, 0xaa42, - 0xaa44, 0xaa4b, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7a, - 0xaa80, 0xaaaf, - 0xaab1, 0xaab1, - 0xaab5, 0xaab6, - 0xaab9, 0xaabd, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadd, - 0xabc0, 0xabe2, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb1d, - 0xfb1f, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0xff66, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, - 0x10400, 0x1049d, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a00, - 0x10a10, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11083, 0x110af, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x13000, 0x1342e, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, -}; /* CR_ID_Start */ - -/* 'ID_Continue': Derived Property */ -static const OnigCodePoint CR_ID_Continue[] = { - 506, - 0x0030, 0x0039, - 0x0041, 0x005a, - 0x005f, 0x005f, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00b7, 0x00b7, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0300, 0x0374, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x0483, 0x0487, - 0x048a, 0x0525, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0610, 0x061a, - 0x0621, 0x065e, - 0x0660, 0x0669, - 0x066e, 0x06d3, - 0x06d5, 0x06dc, - 0x06df, 0x06e8, - 0x06ea, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x074a, - 0x074d, 0x07b1, - 0x07c0, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x082d, - 0x0900, 0x0939, - 0x093c, 0x094e, - 0x0950, 0x0955, - 0x0958, 0x0963, - 0x0966, 0x096f, - 0x0971, 0x0972, - 0x0979, 0x097f, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bc, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09ce, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09e6, 0x09f1, - 0x0a01, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3c, 0x0a3c, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abc, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, - 0x0ae6, 0x0aef, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b66, 0x0b6f, - 0x0b71, 0x0b71, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, - 0x0bd0, 0x0bd0, - 0x0bd7, 0x0bd7, - 0x0be6, 0x0bef, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, - 0x0c66, 0x0c6f, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, - 0x0ce6, 0x0cef, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4d, - 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d6f, - 0x0d7a, 0x0d7f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0e01, 0x0e3a, - 0x0e40, 0x0e4e, - 0x0e50, 0x0e59, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f18, 0x0f19, - 0x0f20, 0x0f29, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f3e, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f84, - 0x0f86, 0x0f8b, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x1000, 0x1049, - 0x1050, 0x109d, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x135f, - 0x1369, 0x1371, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1714, - 0x1720, 0x1734, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17b3, - 0x17b6, 0x17d3, - 0x17d7, 0x17d7, - 0x17dc, 0x17dd, - 0x17e0, 0x17e9, - 0x180b, 0x180d, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1946, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x1a00, 0x1a1b, - 0x1a20, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa7, 0x1aa7, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b59, - 0x1b6b, 0x1b73, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, - 0x1c00, 0x1c37, - 0x1c40, 0x1c49, - 0x1c4d, 0x1c7d, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1cf2, - 0x1d00, 0x1de6, - 0x1dfd, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x203f, 0x2040, - 0x2054, 0x2054, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x2094, - 0x20d0, 0x20dc, - 0x20e1, 0x20e1, - 0x20e5, 0x20f0, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2118, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cf1, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2de0, 0x2dff, - 0x3005, 0x3007, - 0x3021, 0x302f, - 0x3031, 0x3035, - 0x3038, 0x303c, - 0x3041, 0x3096, - 0x3099, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31b7, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa66f, - 0xa67c, 0xa67d, - 0xa67f, 0xa697, - 0xa6a0, 0xa6f1, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78c, - 0xa7fb, 0xa827, - 0xa840, 0xa873, - 0xa880, 0xa8c4, - 0xa8d0, 0xa8d9, - 0xa8e0, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa900, 0xa92d, - 0xa930, 0xa953, - 0xa960, 0xa97c, - 0xa980, 0xa9c0, - 0xa9cf, 0xa9d9, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7b, - 0xaa80, 0xaac2, - 0xaadb, 0xaadd, - 0xabc0, 0xabea, - 0xabec, 0xabed, - 0xabf0, 0xabf9, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe00, 0xfe0f, - 0xfe20, 0xfe26, - 0xfe33, 0xfe34, - 0xfe4d, 0xfe4f, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff10, 0xff19, - 0xff21, 0xff3a, - 0xff3f, 0xff3f, - 0xff41, 0xff5a, - 0xff66, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x101fd, 0x101fd, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11080, 0x110ba, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x13000, 0x1342e, - 0x1d165, 0x1d169, - 0x1d16d, 0x1d172, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, - 0xe0100, 0xe01ef, -}; /* CR_ID_Continue */ - -/* 'XID_Start': Derived Property */ -static const OnigCodePoint CR_XID_Start[] = { - 431, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0370, 0x0374, - 0x0376, 0x0377, - 0x037b, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x048a, 0x0525, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0621, 0x064a, - 0x066e, 0x066f, - 0x0671, 0x06d3, - 0x06d5, 0x06d5, - 0x06e5, 0x06e6, - 0x06ee, 0x06ef, - 0x06fa, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x0710, - 0x0712, 0x072f, - 0x074d, 0x07a5, - 0x07b1, 0x07b1, - 0x07ca, 0x07ea, - 0x07f4, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x0815, - 0x081a, 0x081a, - 0x0824, 0x0824, - 0x0828, 0x0828, - 0x0904, 0x0939, - 0x093d, 0x093d, - 0x0950, 0x0950, - 0x0958, 0x0961, - 0x0971, 0x0972, - 0x0979, 0x097f, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bd, 0x09bd, - 0x09ce, 0x09ce, - 0x09dc, 0x09dd, - 0x09df, 0x09e1, - 0x09f0, 0x09f1, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a72, 0x0a74, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abd, 0x0abd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae1, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3d, 0x0b3d, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, - 0x0b71, 0x0b71, - 0x0b83, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bd0, 0x0bd0, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c3d, - 0x0c58, 0x0c59, - 0x0c60, 0x0c61, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cbd, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d3d, - 0x0d60, 0x0d61, - 0x0d7a, 0x0d7f, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0e01, 0x0e30, - 0x0e32, 0x0e32, - 0x0e40, 0x0e46, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb0, - 0x0eb2, 0x0eb2, - 0x0ebd, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f40, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f88, 0x0f8b, - 0x1000, 0x102a, - 0x103f, 0x103f, - 0x1050, 0x1055, - 0x105a, 0x105d, - 0x1061, 0x1061, - 0x1065, 0x1066, - 0x106e, 0x1070, - 0x1075, 0x1081, - 0x108e, 0x108e, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1711, - 0x1720, 0x1731, - 0x1740, 0x1751, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1780, 0x17b3, - 0x17d7, 0x17d7, - 0x17dc, 0x17dc, - 0x1820, 0x1877, - 0x1880, 0x18a8, - 0x18aa, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1950, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19c1, 0x19c7, - 0x1a00, 0x1a16, - 0x1a20, 0x1a54, - 0x1aa7, 0x1aa7, - 0x1b05, 0x1b33, - 0x1b45, 0x1b4b, - 0x1b83, 0x1ba0, - 0x1bae, 0x1baf, - 0x1c00, 0x1c23, - 0x1c4d, 0x1c4f, - 0x1c5a, 0x1c7d, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf1, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x2094, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2118, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x3005, 0x3007, - 0x3021, 0x3029, - 0x3031, 0x3035, - 0x3038, 0x303c, - 0x3041, 0x3096, - 0x309d, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31b7, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa61f, - 0xa62a, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa66e, - 0xa67f, 0xa697, - 0xa6a0, 0xa6ef, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78c, - 0xa7fb, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa822, - 0xa840, 0xa873, - 0xa882, 0xa8b3, - 0xa8f2, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa90a, 0xa925, - 0xa930, 0xa946, - 0xa960, 0xa97c, - 0xa984, 0xa9b2, - 0xa9cf, 0xa9cf, - 0xaa00, 0xaa28, - 0xaa40, 0xaa42, - 0xaa44, 0xaa4b, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7a, - 0xaa80, 0xaaaf, - 0xaab1, 0xaab1, - 0xaab5, 0xaab6, - 0xaab9, 0xaabd, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadd, - 0xabc0, 0xabe2, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb1d, - 0xfb1f, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfc5d, - 0xfc64, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdf9, - 0xfe71, 0xfe71, - 0xfe73, 0xfe73, - 0xfe77, 0xfe77, - 0xfe79, 0xfe79, - 0xfe7b, 0xfe7b, - 0xfe7d, 0xfe7d, - 0xfe7f, 0xfefc, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0xff66, 0xff9d, - 0xffa0, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, - 0x10400, 0x1049d, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a00, - 0x10a10, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11083, 0x110af, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x13000, 0x1342e, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, -}; /* CR_XID_Start */ - -/* 'XID_Continue': Derived Property */ -static const OnigCodePoint CR_XID_Continue[] = { - 513, - 0x0030, 0x0039, - 0x0041, 0x005a, - 0x005f, 0x005f, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00b7, 0x00b7, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0300, 0x0374, - 0x0376, 0x0377, - 0x037b, 0x037d, - 0x0386, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x0483, 0x0487, - 0x048a, 0x0525, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0610, 0x061a, - 0x0621, 0x065e, - 0x0660, 0x0669, - 0x066e, 0x06d3, - 0x06d5, 0x06dc, - 0x06df, 0x06e8, - 0x06ea, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x074a, - 0x074d, 0x07b1, - 0x07c0, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x082d, - 0x0900, 0x0939, - 0x093c, 0x094e, - 0x0950, 0x0955, - 0x0958, 0x0963, - 0x0966, 0x096f, - 0x0971, 0x0972, - 0x0979, 0x097f, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bc, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09ce, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09e6, 0x09f1, - 0x0a01, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3c, 0x0a3c, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abc, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, - 0x0ae6, 0x0aef, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b66, 0x0b6f, - 0x0b71, 0x0b71, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, - 0x0bd0, 0x0bd0, - 0x0bd7, 0x0bd7, - 0x0be6, 0x0bef, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, - 0x0c66, 0x0c6f, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, - 0x0ce6, 0x0cef, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4d, - 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d6f, - 0x0d7a, 0x0d7f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0e01, 0x0e3a, - 0x0e40, 0x0e4e, - 0x0e50, 0x0e59, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f18, 0x0f19, - 0x0f20, 0x0f29, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f3e, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f84, - 0x0f86, 0x0f8b, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x1000, 0x1049, - 0x1050, 0x109d, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x135f, - 0x1369, 0x1371, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1714, - 0x1720, 0x1734, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17b3, - 0x17b6, 0x17d3, - 0x17d7, 0x17d7, - 0x17dc, 0x17dd, - 0x17e0, 0x17e9, - 0x180b, 0x180d, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1946, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x1a00, 0x1a1b, - 0x1a20, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa7, 0x1aa7, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b59, - 0x1b6b, 0x1b73, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, - 0x1c00, 0x1c37, - 0x1c40, 0x1c49, - 0x1c4d, 0x1c7d, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1cf2, - 0x1d00, 0x1de6, - 0x1dfd, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x203f, 0x2040, - 0x2054, 0x2054, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x2094, - 0x20d0, 0x20dc, - 0x20e1, 0x20e1, - 0x20e5, 0x20f0, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2118, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cf1, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2de0, 0x2dff, - 0x3005, 0x3007, - 0x3021, 0x302f, - 0x3031, 0x3035, - 0x3038, 0x303c, - 0x3041, 0x3096, - 0x3099, 0x309a, - 0x309d, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31b7, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa66f, - 0xa67c, 0xa67d, - 0xa67f, 0xa697, - 0xa6a0, 0xa6f1, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78c, - 0xa7fb, 0xa827, - 0xa840, 0xa873, - 0xa880, 0xa8c4, - 0xa8d0, 0xa8d9, - 0xa8e0, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa900, 0xa92d, - 0xa930, 0xa953, - 0xa960, 0xa97c, - 0xa980, 0xa9c0, - 0xa9cf, 0xa9d9, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7b, - 0xaa80, 0xaac2, - 0xaadb, 0xaadd, - 0xabc0, 0xabea, - 0xabec, 0xabed, - 0xabf0, 0xabf9, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfc5d, - 0xfc64, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdf9, - 0xfe00, 0xfe0f, - 0xfe20, 0xfe26, - 0xfe33, 0xfe34, - 0xfe4d, 0xfe4f, - 0xfe71, 0xfe71, - 0xfe73, 0xfe73, - 0xfe77, 0xfe77, - 0xfe79, 0xfe79, - 0xfe7b, 0xfe7b, - 0xfe7d, 0xfe7d, - 0xfe7f, 0xfefc, - 0xff10, 0xff19, - 0xff21, 0xff3a, - 0xff3f, 0xff3f, - 0xff41, 0xff5a, - 0xff66, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x101fd, 0x101fd, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11080, 0x110ba, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x13000, 0x1342e, - 0x1d165, 0x1d169, - 0x1d16d, 0x1d172, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, - 0xe0100, 0xe01ef, -}; /* CR_XID_Continue */ - -/* 'Default_Ignorable_Code_Point': Derived Property */ -static const OnigCodePoint CR_Default_Ignorable_Code_Point[] = { - 15, - 0x00ad, 0x00ad, - 0x034f, 0x034f, - 0x115f, 0x1160, - 0x17b4, 0x17b5, - 0x180b, 0x180d, - 0x200b, 0x200f, - 0x202a, 0x202e, - 0x2060, 0x206f, - 0x3164, 0x3164, - 0xfe00, 0xfe0f, - 0xfeff, 0xfeff, - 0xffa0, 0xffa0, - 0xfff0, 0xfff8, - 0x1d173, 0x1d17a, - 0xe0000, 0xe0fff, -}; /* CR_Default_Ignorable_Code_Point */ - -/* 'Grapheme_Extend': Derived Property */ -static const OnigCodePoint CR_Grapheme_Extend[] = { - 206, - 0x0300, 0x036f, - 0x0483, 0x0489, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x0610, 0x061a, - 0x064b, 0x065e, - 0x0670, 0x0670, - 0x06d6, 0x06dc, - 0x06de, 0x06e4, - 0x06e7, 0x06e8, - 0x06ea, 0x06ed, - 0x0711, 0x0711, - 0x0730, 0x074a, - 0x07a6, 0x07b0, - 0x07eb, 0x07f3, - 0x0816, 0x0819, - 0x081b, 0x0823, - 0x0825, 0x0827, - 0x0829, 0x082d, - 0x0900, 0x0902, - 0x093c, 0x093c, - 0x0941, 0x0948, - 0x094d, 0x094d, - 0x0951, 0x0955, - 0x0962, 0x0963, - 0x0981, 0x0981, - 0x09bc, 0x09bc, - 0x09be, 0x09be, - 0x09c1, 0x09c4, - 0x09cd, 0x09cd, - 0x09d7, 0x09d7, - 0x09e2, 0x09e3, - 0x0a01, 0x0a02, - 0x0a3c, 0x0a3c, - 0x0a41, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a70, 0x0a71, - 0x0a75, 0x0a75, - 0x0a81, 0x0a82, - 0x0abc, 0x0abc, - 0x0ac1, 0x0ac5, - 0x0ac7, 0x0ac8, - 0x0acd, 0x0acd, - 0x0ae2, 0x0ae3, - 0x0b01, 0x0b01, - 0x0b3c, 0x0b3c, - 0x0b3e, 0x0b3f, - 0x0b41, 0x0b44, - 0x0b4d, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b62, 0x0b63, - 0x0b82, 0x0b82, - 0x0bbe, 0x0bbe, - 0x0bc0, 0x0bc0, - 0x0bcd, 0x0bcd, - 0x0bd7, 0x0bd7, - 0x0c3e, 0x0c40, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c62, 0x0c63, - 0x0cbc, 0x0cbc, - 0x0cbf, 0x0cbf, - 0x0cc2, 0x0cc2, - 0x0cc6, 0x0cc6, - 0x0ccc, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0ce2, 0x0ce3, - 0x0d3e, 0x0d3e, - 0x0d41, 0x0d44, - 0x0d4d, 0x0d4d, - 0x0d57, 0x0d57, - 0x0d62, 0x0d63, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dcf, - 0x0dd2, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0ddf, 0x0ddf, - 0x0e31, 0x0e31, - 0x0e34, 0x0e3a, - 0x0e47, 0x0e4e, - 0x0eb1, 0x0eb1, - 0x0eb4, 0x0eb9, - 0x0ebb, 0x0ebc, - 0x0ec8, 0x0ecd, - 0x0f18, 0x0f19, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f71, 0x0f7e, - 0x0f80, 0x0f84, - 0x0f86, 0x0f87, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x102d, 0x1030, - 0x1032, 0x1037, - 0x1039, 0x103a, - 0x103d, 0x103e, - 0x1058, 0x1059, - 0x105e, 0x1060, - 0x1071, 0x1074, - 0x1082, 0x1082, - 0x1085, 0x1086, - 0x108d, 0x108d, - 0x109d, 0x109d, - 0x135f, 0x135f, - 0x1712, 0x1714, - 0x1732, 0x1734, - 0x1752, 0x1753, - 0x1772, 0x1773, - 0x17b7, 0x17bd, - 0x17c6, 0x17c6, - 0x17c9, 0x17d3, - 0x17dd, 0x17dd, - 0x180b, 0x180d, - 0x18a9, 0x18a9, - 0x1920, 0x1922, - 0x1927, 0x1928, - 0x1932, 0x1932, - 0x1939, 0x193b, - 0x1a17, 0x1a18, - 0x1a56, 0x1a56, - 0x1a58, 0x1a5e, - 0x1a60, 0x1a60, - 0x1a62, 0x1a62, - 0x1a65, 0x1a6c, - 0x1a73, 0x1a7c, - 0x1a7f, 0x1a7f, - 0x1b00, 0x1b03, - 0x1b34, 0x1b34, - 0x1b36, 0x1b3a, - 0x1b3c, 0x1b3c, - 0x1b42, 0x1b42, - 0x1b6b, 0x1b73, - 0x1b80, 0x1b81, - 0x1ba2, 0x1ba5, - 0x1ba8, 0x1ba9, - 0x1c2c, 0x1c33, - 0x1c36, 0x1c37, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1ce0, - 0x1ce2, 0x1ce8, - 0x1ced, 0x1ced, - 0x1dc0, 0x1de6, - 0x1dfd, 0x1dff, - 0x200c, 0x200d, - 0x20d0, 0x20f0, - 0x2cef, 0x2cf1, - 0x2de0, 0x2dff, - 0x302a, 0x302f, - 0x3099, 0x309a, - 0xa66f, 0xa672, - 0xa67c, 0xa67d, - 0xa6f0, 0xa6f1, - 0xa802, 0xa802, - 0xa806, 0xa806, - 0xa80b, 0xa80b, - 0xa825, 0xa826, - 0xa8c4, 0xa8c4, - 0xa8e0, 0xa8f1, - 0xa926, 0xa92d, - 0xa947, 0xa951, - 0xa980, 0xa982, - 0xa9b3, 0xa9b3, - 0xa9b6, 0xa9b9, - 0xa9bc, 0xa9bc, - 0xaa29, 0xaa2e, - 0xaa31, 0xaa32, - 0xaa35, 0xaa36, - 0xaa43, 0xaa43, - 0xaa4c, 0xaa4c, - 0xaab0, 0xaab0, - 0xaab2, 0xaab4, - 0xaab7, 0xaab8, - 0xaabe, 0xaabf, - 0xaac1, 0xaac1, - 0xabe5, 0xabe5, - 0xabe8, 0xabe8, - 0xabed, 0xabed, - 0xfb1e, 0xfb1e, - 0xfe00, 0xfe0f, - 0xfe20, 0xfe26, - 0xff9e, 0xff9f, - 0x101fd, 0x101fd, - 0x10a01, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a0f, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x11080, 0x11081, - 0x110b3, 0x110b6, - 0x110b9, 0x110ba, - 0x1d165, 0x1d165, - 0x1d167, 0x1d169, - 0x1d16e, 0x1d172, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, - 0xe0100, 0xe01ef, -}; /* CR_Grapheme_Extend */ - -/* 'Grapheme_Base': Derived Property */ -static const OnigCodePoint CR_Grapheme_Base[] = { - 567, - 0x0020, 0x007e, - 0x00a0, 0x00ac, - 0x00ae, 0x02ff, - 0x0370, 0x0377, - 0x037a, 0x037e, - 0x0384, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x0482, - 0x048a, 0x0525, - 0x0531, 0x0556, - 0x0559, 0x055f, - 0x0561, 0x0587, - 0x0589, 0x058a, - 0x05be, 0x05be, - 0x05c0, 0x05c0, - 0x05c3, 0x05c3, - 0x05c6, 0x05c6, - 0x05d0, 0x05ea, - 0x05f0, 0x05f4, - 0x0606, 0x060f, - 0x061b, 0x061b, - 0x061e, 0x061f, - 0x0621, 0x064a, - 0x0660, 0x066f, - 0x0671, 0x06d5, - 0x06e5, 0x06e6, - 0x06e9, 0x06e9, - 0x06ee, 0x070d, - 0x0710, 0x0710, - 0x0712, 0x072f, - 0x074d, 0x07a5, - 0x07b1, 0x07b1, - 0x07c0, 0x07ea, - 0x07f4, 0x07fa, - 0x0800, 0x0815, - 0x081a, 0x081a, - 0x0824, 0x0824, - 0x0828, 0x0828, - 0x0830, 0x083e, - 0x0903, 0x0939, - 0x093d, 0x0940, - 0x0949, 0x094c, - 0x094e, 0x094e, - 0x0950, 0x0950, - 0x0958, 0x0961, - 0x0964, 0x0972, - 0x0979, 0x097f, - 0x0982, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bd, 0x09bd, - 0x09bf, 0x09c0, - 0x09c7, 0x09c8, - 0x09cb, 0x09cc, - 0x09ce, 0x09ce, - 0x09dc, 0x09dd, - 0x09df, 0x09e1, - 0x09e6, 0x09fb, - 0x0a03, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3e, 0x0a40, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a6f, - 0x0a72, 0x0a74, - 0x0a83, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abd, 0x0ac0, - 0x0ac9, 0x0ac9, - 0x0acb, 0x0acc, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae1, - 0x0ae6, 0x0aef, - 0x0af1, 0x0af1, - 0x0b02, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3d, 0x0b3d, - 0x0b40, 0x0b40, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4c, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b61, - 0x0b66, 0x0b71, - 0x0b83, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbf, 0x0bbf, - 0x0bc1, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcc, - 0x0bd0, 0x0bd0, - 0x0be6, 0x0bfa, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c3d, - 0x0c41, 0x0c44, - 0x0c58, 0x0c59, - 0x0c60, 0x0c61, - 0x0c66, 0x0c6f, - 0x0c78, 0x0c7f, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cbe, - 0x0cc0, 0x0cc1, - 0x0cc3, 0x0cc4, - 0x0cc7, 0x0cc8, - 0x0cca, 0x0ccb, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce1, - 0x0ce6, 0x0cef, - 0x0cf1, 0x0cf2, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d3d, - 0x0d3f, 0x0d40, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4c, - 0x0d60, 0x0d61, - 0x0d66, 0x0d75, - 0x0d79, 0x0d7f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dd0, 0x0dd1, - 0x0dd8, 0x0dde, - 0x0df2, 0x0df4, - 0x0e01, 0x0e30, - 0x0e32, 0x0e33, - 0x0e3f, 0x0e46, - 0x0e4f, 0x0e5b, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb0, - 0x0eb2, 0x0eb3, - 0x0ebd, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f17, - 0x0f1a, 0x0f34, - 0x0f36, 0x0f36, - 0x0f38, 0x0f38, - 0x0f3a, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f7f, 0x0f7f, - 0x0f85, 0x0f85, - 0x0f88, 0x0f8b, - 0x0fbe, 0x0fc5, - 0x0fc7, 0x0fcc, - 0x0fce, 0x0fd8, - 0x1000, 0x102c, - 0x1031, 0x1031, - 0x1038, 0x1038, - 0x103b, 0x103c, - 0x103f, 0x1057, - 0x105a, 0x105d, - 0x1061, 0x1070, - 0x1075, 0x1081, - 0x1083, 0x1084, - 0x1087, 0x108c, - 0x108e, 0x109c, - 0x109e, 0x10c5, - 0x10d0, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x1360, 0x137c, - 0x1380, 0x1399, - 0x13a0, 0x13f4, - 0x1400, 0x169c, - 0x16a0, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1711, - 0x1720, 0x1731, - 0x1735, 0x1736, - 0x1740, 0x1751, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1780, 0x17b3, - 0x17b6, 0x17b6, - 0x17be, 0x17c5, - 0x17c7, 0x17c8, - 0x17d4, 0x17dc, - 0x17e0, 0x17e9, - 0x17f0, 0x17f9, - 0x1800, 0x180a, - 0x180e, 0x180e, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18a8, - 0x18aa, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1923, 0x1926, - 0x1929, 0x192b, - 0x1930, 0x1931, - 0x1933, 0x1938, - 0x1940, 0x1940, - 0x1944, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x19de, 0x1a16, - 0x1a19, 0x1a1b, - 0x1a1e, 0x1a55, - 0x1a57, 0x1a57, - 0x1a61, 0x1a61, - 0x1a63, 0x1a64, - 0x1a6d, 0x1a72, - 0x1a80, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa0, 0x1aad, - 0x1b04, 0x1b33, - 0x1b35, 0x1b35, - 0x1b3b, 0x1b3b, - 0x1b3d, 0x1b41, - 0x1b43, 0x1b4b, - 0x1b50, 0x1b6a, - 0x1b74, 0x1b7c, - 0x1b82, 0x1ba1, - 0x1ba6, 0x1ba7, - 0x1baa, 0x1baa, - 0x1bae, 0x1bb9, - 0x1c00, 0x1c2b, - 0x1c34, 0x1c35, - 0x1c3b, 0x1c49, - 0x1c4d, 0x1c7f, - 0x1cd3, 0x1cd3, - 0x1ce1, 0x1ce1, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf2, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fc4, - 0x1fc6, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fdd, 0x1fef, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffe, - 0x2000, 0x200a, - 0x2010, 0x2027, - 0x202f, 0x205f, - 0x2070, 0x2071, - 0x2074, 0x208e, - 0x2090, 0x2094, - 0x20a0, 0x20b8, - 0x2100, 0x2189, - 0x2190, 0x23e8, - 0x2400, 0x2426, - 0x2440, 0x244a, - 0x2460, 0x26cd, - 0x26cf, 0x26e1, - 0x26e3, 0x26e3, - 0x26e8, 0x26ff, - 0x2701, 0x2704, - 0x2706, 0x2709, - 0x270c, 0x2727, - 0x2729, 0x274b, - 0x274d, 0x274d, - 0x274f, 0x2752, - 0x2756, 0x275e, - 0x2761, 0x2794, - 0x2798, 0x27af, - 0x27b1, 0x27be, - 0x27c0, 0x27ca, - 0x27cc, 0x27cc, - 0x27d0, 0x2b4c, - 0x2b50, 0x2b59, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2cee, - 0x2cf9, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2e00, 0x2e31, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x2ff0, 0x2ffb, - 0x3000, 0x3029, - 0x3030, 0x303f, - 0x3041, 0x3096, - 0x309b, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x3190, 0x31b7, - 0x31c0, 0x31e3, - 0x31f0, 0x321e, - 0x3220, 0x32fe, - 0x3300, 0x4db5, - 0x4dc0, 0x9fcb, - 0xa000, 0xa48c, - 0xa490, 0xa4c6, - 0xa4d0, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa66e, - 0xa673, 0xa673, - 0xa67e, 0xa697, - 0xa6a0, 0xa6ef, - 0xa6f2, 0xa6f7, - 0xa700, 0xa78c, - 0xa7fb, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa824, - 0xa827, 0xa82b, - 0xa830, 0xa839, - 0xa840, 0xa877, - 0xa880, 0xa8c3, - 0xa8ce, 0xa8d9, - 0xa8f2, 0xa8fb, - 0xa900, 0xa925, - 0xa92e, 0xa946, - 0xa952, 0xa953, - 0xa95f, 0xa97c, - 0xa983, 0xa9b2, - 0xa9b4, 0xa9b5, - 0xa9ba, 0xa9bb, - 0xa9bd, 0xa9cd, - 0xa9cf, 0xa9d9, - 0xa9de, 0xa9df, - 0xaa00, 0xaa28, - 0xaa2f, 0xaa30, - 0xaa33, 0xaa34, - 0xaa40, 0xaa42, - 0xaa44, 0xaa4b, - 0xaa4d, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa5c, 0xaa7b, - 0xaa80, 0xaaaf, - 0xaab1, 0xaab1, - 0xaab5, 0xaab6, - 0xaab9, 0xaabd, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadf, - 0xabc0, 0xabe4, - 0xabe6, 0xabe7, - 0xabe9, 0xabec, - 0xabf0, 0xabf9, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb1d, - 0xfb1f, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3f, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfd, - 0xfe10, 0xfe19, - 0xfe30, 0xfe52, - 0xfe54, 0xfe66, - 0xfe68, 0xfe6b, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff01, 0xff9d, - 0xffa0, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0xffe0, 0xffe6, - 0xffe8, 0xffee, - 0xfffc, 0xfffd, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10100, 0x10102, - 0x10107, 0x10133, - 0x10137, 0x1018a, - 0x10190, 0x1019b, - 0x101d0, 0x101fc, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10320, 0x10323, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x1039f, 0x103c3, - 0x103c8, 0x103d5, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10857, 0x1085f, - 0x10900, 0x1091b, - 0x1091f, 0x10939, - 0x1093f, 0x1093f, - 0x10a00, 0x10a00, - 0x10a10, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a40, 0x10a47, - 0x10a50, 0x10a58, - 0x10a60, 0x10a7f, - 0x10b00, 0x10b35, - 0x10b39, 0x10b55, - 0x10b58, 0x10b72, - 0x10b78, 0x10b7f, - 0x10c00, 0x10c48, - 0x10e60, 0x10e7e, - 0x11082, 0x110b2, - 0x110b7, 0x110b8, - 0x110bb, 0x110bc, - 0x110be, 0x110c1, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x12470, 0x12473, - 0x13000, 0x1342e, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d129, 0x1d164, - 0x1d166, 0x1d166, - 0x1d16a, 0x1d16d, - 0x1d183, 0x1d184, - 0x1d18c, 0x1d1a9, - 0x1d1ae, 0x1d1dd, - 0x1d200, 0x1d241, - 0x1d245, 0x1d245, - 0x1d300, 0x1d356, - 0x1d360, 0x1d371, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f100, 0x1f10a, - 0x1f110, 0x1f12e, - 0x1f131, 0x1f131, - 0x1f13d, 0x1f13d, - 0x1f13f, 0x1f13f, - 0x1f142, 0x1f142, - 0x1f146, 0x1f146, - 0x1f14a, 0x1f14e, - 0x1f157, 0x1f157, - 0x1f15f, 0x1f15f, - 0x1f179, 0x1f179, - 0x1f17b, 0x1f17c, - 0x1f17f, 0x1f17f, - 0x1f18a, 0x1f18d, - 0x1f190, 0x1f190, - 0x1f200, 0x1f200, - 0x1f210, 0x1f231, - 0x1f240, 0x1f248, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, -}; /* CR_Grapheme_Base */ - -/* 'Grapheme_Link': Derived Property */ -static const OnigCodePoint CR_Grapheme_Link[] = { - 26, - 0x094d, 0x094d, - 0x09cd, 0x09cd, - 0x0a4d, 0x0a4d, - 0x0acd, 0x0acd, - 0x0b4d, 0x0b4d, - 0x0bcd, 0x0bcd, - 0x0c4d, 0x0c4d, - 0x0ccd, 0x0ccd, - 0x0d4d, 0x0d4d, - 0x0dca, 0x0dca, - 0x0e3a, 0x0e3a, - 0x0f84, 0x0f84, - 0x1039, 0x103a, - 0x1714, 0x1714, - 0x1734, 0x1734, - 0x17d2, 0x17d2, - 0x1a60, 0x1a60, - 0x1b44, 0x1b44, - 0x1baa, 0x1baa, - 0xa806, 0xa806, - 0xa8c4, 0xa8c4, - 0xa953, 0xa953, - 0xa9c0, 0xa9c0, - 0xabed, 0xabed, - 0x10a3f, 0x10a3f, - 0x110b9, 0x110b9, -}; /* CR_Grapheme_Link */ - -/* 'Common': Script */ -static const OnigCodePoint CR_Common[] = { - 159, - 0x0000, 0x0040, - 0x005b, 0x0060, - 0x007b, 0x00a9, - 0x00ab, 0x00b9, - 0x00bb, 0x00bf, - 0x00d7, 0x00d7, - 0x00f7, 0x00f7, - 0x02b9, 0x02df, - 0x02e5, 0x02ff, - 0x0374, 0x0374, - 0x037e, 0x037e, - 0x0385, 0x0385, - 0x0387, 0x0387, - 0x0589, 0x0589, - 0x0600, 0x0603, - 0x060c, 0x060c, - 0x061b, 0x061b, - 0x061f, 0x061f, - 0x0640, 0x0640, - 0x0660, 0x0669, - 0x06dd, 0x06dd, - 0x0964, 0x0965, - 0x0970, 0x0970, - 0x0cf1, 0x0cf2, - 0x0e3f, 0x0e3f, - 0x0fd5, 0x0fd8, - 0x10fb, 0x10fb, - 0x16eb, 0x16ed, - 0x1735, 0x1736, - 0x1802, 0x1803, - 0x1805, 0x1805, - 0x1cd3, 0x1cd3, - 0x1ce1, 0x1ce1, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf2, - 0x2000, 0x200b, - 0x200e, 0x2064, - 0x206a, 0x2070, - 0x2074, 0x207e, - 0x2080, 0x208e, - 0x20a0, 0x20b8, - 0x2100, 0x2125, - 0x2127, 0x2129, - 0x212c, 0x2131, - 0x2133, 0x214d, - 0x214f, 0x215f, - 0x2189, 0x2189, - 0x2190, 0x23e8, - 0x2400, 0x2426, - 0x2440, 0x244a, - 0x2460, 0x26cd, - 0x26cf, 0x26e1, - 0x26e3, 0x26e3, - 0x26e8, 0x26ff, - 0x2701, 0x2704, - 0x2706, 0x2709, - 0x270c, 0x2727, - 0x2729, 0x274b, - 0x274d, 0x274d, - 0x274f, 0x2752, - 0x2756, 0x275e, - 0x2761, 0x2794, - 0x2798, 0x27af, - 0x27b1, 0x27be, - 0x27c0, 0x27ca, - 0x27cc, 0x27cc, - 0x27d0, 0x27ff, - 0x2900, 0x2b4c, - 0x2b50, 0x2b59, - 0x2e00, 0x2e31, - 0x2ff0, 0x2ffb, - 0x3000, 0x3004, - 0x3006, 0x3006, - 0x3008, 0x3020, - 0x3030, 0x3037, - 0x303c, 0x303f, - 0x309b, 0x309c, - 0x30a0, 0x30a0, - 0x30fb, 0x30fc, - 0x3190, 0x319f, - 0x31c0, 0x31e3, - 0x3220, 0x325f, - 0x327f, 0x32cf, - 0x3358, 0x33ff, - 0x4dc0, 0x4dff, - 0xa700, 0xa721, - 0xa788, 0xa78a, - 0xa830, 0xa839, - 0xfd3e, 0xfd3f, - 0xfdfd, 0xfdfd, - 0xfe10, 0xfe19, - 0xfe30, 0xfe52, - 0xfe54, 0xfe66, - 0xfe68, 0xfe6b, - 0xfeff, 0xfeff, - 0xff01, 0xff20, - 0xff3b, 0xff40, - 0xff5b, 0xff65, - 0xff70, 0xff70, - 0xff9e, 0xff9f, - 0xffe0, 0xffe6, - 0xffe8, 0xffee, - 0xfff9, 0xfffd, - 0x10100, 0x10102, - 0x10107, 0x10133, - 0x10137, 0x1013f, - 0x10190, 0x1019b, - 0x101d0, 0x101fc, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d129, 0x1d166, - 0x1d16a, 0x1d17a, - 0x1d183, 0x1d184, - 0x1d18c, 0x1d1a9, - 0x1d1ae, 0x1d1dd, - 0x1d300, 0x1d356, - 0x1d360, 0x1d371, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f100, 0x1f10a, - 0x1f110, 0x1f12e, - 0x1f131, 0x1f131, - 0x1f13d, 0x1f13d, - 0x1f13f, 0x1f13f, - 0x1f142, 0x1f142, - 0x1f146, 0x1f146, - 0x1f14a, 0x1f14e, - 0x1f157, 0x1f157, - 0x1f15f, 0x1f15f, - 0x1f179, 0x1f179, - 0x1f17b, 0x1f17c, - 0x1f17f, 0x1f17f, - 0x1f18a, 0x1f18d, - 0x1f190, 0x1f190, - 0x1f210, 0x1f231, - 0x1f240, 0x1f248, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, -}; /* CR_Common */ - -/* 'Latin': Script */ -static const OnigCodePoint CR_Latin[] = { - 28, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02b8, - 0x02e0, 0x02e4, - 0x1d00, 0x1d25, - 0x1d2c, 0x1d5c, - 0x1d62, 0x1d65, - 0x1d6b, 0x1d77, - 0x1d79, 0x1dbe, - 0x1e00, 0x1eff, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x2094, - 0x212a, 0x212b, - 0x2132, 0x2132, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x2c60, 0x2c7f, - 0xa722, 0xa787, - 0xa78b, 0xa78c, - 0xa7fb, 0xa7ff, - 0xfb00, 0xfb06, - 0xff21, 0xff3a, - 0xff41, 0xff5a, -}; /* CR_Latin */ - -/* 'Greek': Script */ -static const OnigCodePoint CR_Greek[] = { - 33, - 0x0370, 0x0373, - 0x0375, 0x0377, - 0x037a, 0x037d, - 0x0384, 0x0384, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03e1, - 0x03f0, 0x03ff, - 0x1d26, 0x1d2a, - 0x1d5d, 0x1d61, - 0x1d66, 0x1d6a, - 0x1dbf, 0x1dbf, - 0x1f00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fc4, - 0x1fc6, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fdd, 0x1fef, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffe, - 0x2126, 0x2126, - 0x10140, 0x1018a, - 0x1d200, 0x1d245, -}; /* CR_Greek */ - -/* 'Cyrillic': Script */ -static const OnigCodePoint CR_Cyrillic[] = { - 8, - 0x0400, 0x0484, - 0x0487, 0x0525, - 0x1d2b, 0x1d2b, - 0x1d78, 0x1d78, - 0x2de0, 0x2dff, - 0xa640, 0xa65f, - 0xa662, 0xa673, - 0xa67c, 0xa697, -}; /* CR_Cyrillic */ - -/* 'Armenian': Script */ -static const OnigCodePoint CR_Armenian[] = { - 5, - 0x0531, 0x0556, - 0x0559, 0x055f, - 0x0561, 0x0587, - 0x058a, 0x058a, - 0xfb13, 0xfb17, -}; /* CR_Armenian */ - -/* 'Hebrew': Script */ -static const OnigCodePoint CR_Hebrew[] = { - 9, - 0x0591, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f4, - 0xfb1d, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfb4f, -}; /* CR_Hebrew */ - -/* 'Arabic': Script */ -static const OnigCodePoint CR_Arabic[] = { - 18, - 0x0606, 0x060b, - 0x060d, 0x061a, - 0x061e, 0x061e, - 0x0621, 0x063f, - 0x0641, 0x064a, - 0x0656, 0x065e, - 0x066a, 0x066f, - 0x0671, 0x06dc, - 0x06de, 0x06ff, - 0x0750, 0x077f, - 0xfb50, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfc, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0x10e60, 0x10e7e, -}; /* CR_Arabic */ - -/* 'Syriac': Script */ -static const OnigCodePoint CR_Syriac[] = { - 3, - 0x0700, 0x070d, - 0x070f, 0x074a, - 0x074d, 0x074f, -}; /* CR_Syriac */ - -/* 'Thaana': Script */ -static const OnigCodePoint CR_Thaana[] = { - 1, - 0x0780, 0x07b1, -}; /* CR_Thaana */ - -/* 'Devanagari': Script */ -static const OnigCodePoint CR_Devanagari[] = { - 9, - 0x0900, 0x0939, - 0x093c, 0x094e, - 0x0950, 0x0950, - 0x0953, 0x0955, - 0x0958, 0x0963, - 0x0966, 0x096f, - 0x0971, 0x0972, - 0x0979, 0x097f, - 0xa8e0, 0xa8fb, -}; /* CR_Devanagari */ - -/* 'Bengali': Script */ -static const OnigCodePoint CR_Bengali[] = { - 14, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bc, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09ce, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09e6, 0x09fb, -}; /* CR_Bengali */ - -/* 'Gurmukhi': Script */ -static const OnigCodePoint CR_Gurmukhi[] = { - 16, - 0x0a01, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3c, 0x0a3c, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, -}; /* CR_Gurmukhi */ - -/* 'Gujarati': Script */ -static const OnigCodePoint CR_Gujarati[] = { - 14, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abc, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, - 0x0ae6, 0x0aef, - 0x0af1, 0x0af1, -}; /* CR_Gujarati */ - -/* 'Oriya': Script */ -static const OnigCodePoint CR_Oriya[] = { - 14, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b66, 0x0b71, -}; /* CR_Oriya */ - -/* 'Tamil': Script */ -static const OnigCodePoint CR_Tamil[] = { - 16, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, - 0x0bd0, 0x0bd0, - 0x0bd7, 0x0bd7, - 0x0be6, 0x0bfa, -}; /* CR_Tamil */ - -/* 'Telugu': Script */ -static const OnigCodePoint CR_Telugu[] = { - 14, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, - 0x0c66, 0x0c6f, - 0x0c78, 0x0c7f, -}; /* CR_Telugu */ - -/* 'Kannada': Script */ -static const OnigCodePoint CR_Kannada[] = { - 13, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, - 0x0ce6, 0x0cef, -}; /* CR_Kannada */ - -/* 'Malayalam': Script */ -static const OnigCodePoint CR_Malayalam[] = { - 12, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4d, - 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d75, - 0x0d79, 0x0d7f, -}; /* CR_Malayalam */ - -/* 'Sinhala': Script */ -static const OnigCodePoint CR_Sinhala[] = { - 11, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df4, -}; /* CR_Sinhala */ - -/* 'Thai': Script */ -static const OnigCodePoint CR_Thai[] = { - 2, - 0x0e01, 0x0e3a, - 0x0e40, 0x0e5b, -}; /* CR_Thai */ - -/* 'Lao': Script */ -static const OnigCodePoint CR_Lao[] = { - 18, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, -}; /* CR_Lao */ - -/* 'Tibetan': Script */ -static const OnigCodePoint CR_Tibetan[] = { - 7, - 0x0f00, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f8b, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fbe, 0x0fcc, - 0x0fce, 0x0fd4, -}; /* CR_Tibetan */ - -/* 'Myanmar': Script */ -static const OnigCodePoint CR_Myanmar[] = { - 2, - 0x1000, 0x109f, - 0xaa60, 0xaa7b, -}; /* CR_Myanmar */ - -/* 'Georgian': Script */ -static const OnigCodePoint CR_Georgian[] = { - 4, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x2d00, 0x2d25, -}; /* CR_Georgian */ - -/* 'Hangul': Script */ -static const OnigCodePoint CR_Hangul[] = { - 13, - 0x1100, 0x11ff, - 0x3131, 0x318e, - 0x3200, 0x321e, - 0x3260, 0x327e, - 0xa960, 0xa97c, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xffa0, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, -}; /* CR_Hangul */ - -/* 'Ethiopic': Script */ -static const OnigCodePoint CR_Ethiopic[] = { - 27, - 0x1200, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x137c, - 0x1380, 0x1399, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, -}; /* CR_Ethiopic */ - -/* 'Cherokee': Script */ -static const OnigCodePoint CR_Cherokee[] = { - 1, - 0x13a0, 0x13f4, -}; /* CR_Cherokee */ - -/* 'Canadian_Aboriginal': Script */ -static const OnigCodePoint CR_Canadian_Aboriginal[] = { - 2, - 0x1400, 0x167f, - 0x18b0, 0x18f5, -}; /* CR_Canadian_Aboriginal */ - -/* 'Ogham': Script */ -static const OnigCodePoint CR_Ogham[] = { - 1, - 0x1680, 0x169c, -}; /* CR_Ogham */ - -/* 'Runic': Script */ -static const OnigCodePoint CR_Runic[] = { - 2, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, -}; /* CR_Runic */ - -/* 'Khmer': Script */ -static const OnigCodePoint CR_Khmer[] = { - 4, - 0x1780, 0x17dd, - 0x17e0, 0x17e9, - 0x17f0, 0x17f9, - 0x19e0, 0x19ff, -}; /* CR_Khmer */ - -/* 'Mongolian': Script */ -static const OnigCodePoint CR_Mongolian[] = { - 6, - 0x1800, 0x1801, - 0x1804, 0x1804, - 0x1806, 0x180e, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18aa, -}; /* CR_Mongolian */ - -/* 'Hiragana': Script */ -static const OnigCodePoint CR_Hiragana[] = { - 3, - 0x3041, 0x3096, - 0x309d, 0x309f, - 0x1f200, 0x1f200, -}; /* CR_Hiragana */ - -/* 'Katakana': Script */ -static const OnigCodePoint CR_Katakana[] = { - 7, - 0x30a1, 0x30fa, - 0x30fd, 0x30ff, - 0x31f0, 0x31ff, - 0x32d0, 0x32fe, - 0x3300, 0x3357, - 0xff66, 0xff6f, - 0xff71, 0xff9d, -}; /* CR_Katakana */ - -/* 'Bopomofo': Script */ -static const OnigCodePoint CR_Bopomofo[] = { - 2, - 0x3105, 0x312d, - 0x31a0, 0x31b7, -}; /* CR_Bopomofo */ - -/* 'Han': Script */ -static const OnigCodePoint CR_Han[] = { - 15, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x3005, 0x3005, - 0x3007, 0x3007, - 0x3021, 0x3029, - 0x3038, 0x303b, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, -}; /* CR_Han */ - -/* 'Yi': Script */ -static const OnigCodePoint CR_Yi[] = { - 2, - 0xa000, 0xa48c, - 0xa490, 0xa4c6, -}; /* CR_Yi */ - -/* 'Old_Italic': Script */ -static const OnigCodePoint CR_Old_Italic[] = { - 2, - 0x10300, 0x1031e, - 0x10320, 0x10323, -}; /* CR_Old_Italic */ - -/* 'Gothic': Script */ -static const OnigCodePoint CR_Gothic[] = { - 1, - 0x10330, 0x1034a, -}; /* CR_Gothic */ - -/* 'Deseret': Script */ -static const OnigCodePoint CR_Deseret[] = { - 1, - 0x10400, 0x1044f, -}; /* CR_Deseret */ - -/* 'Inherited': Script */ -static const OnigCodePoint CR_Inherited[] = { - 23, - 0x0300, 0x036f, - 0x0485, 0x0486, - 0x064b, 0x0655, - 0x0670, 0x0670, - 0x0951, 0x0952, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1ce0, - 0x1ce2, 0x1ce8, - 0x1ced, 0x1ced, - 0x1dc0, 0x1de6, - 0x1dfd, 0x1dff, - 0x200c, 0x200d, - 0x20d0, 0x20f0, - 0x302a, 0x302f, - 0x3099, 0x309a, - 0xfe00, 0xfe0f, - 0xfe20, 0xfe26, - 0x101fd, 0x101fd, - 0x1d167, 0x1d169, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0xe0100, 0xe01ef, -}; /* CR_Inherited */ - -/* 'Tagalog': Script */ -static const OnigCodePoint CR_Tagalog[] = { - 2, - 0x1700, 0x170c, - 0x170e, 0x1714, -}; /* CR_Tagalog */ - -/* 'Hanunoo': Script */ -static const OnigCodePoint CR_Hanunoo[] = { - 1, - 0x1720, 0x1734, -}; /* CR_Hanunoo */ - -/* 'Buhid': Script */ -static const OnigCodePoint CR_Buhid[] = { - 1, - 0x1740, 0x1753, -}; /* CR_Buhid */ - -/* 'Tagbanwa': Script */ -static const OnigCodePoint CR_Tagbanwa[] = { - 3, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, -}; /* CR_Tagbanwa */ - -/* 'Limbu': Script */ -static const OnigCodePoint CR_Limbu[] = { - 5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1940, 0x1940, - 0x1944, 0x194f, -}; /* CR_Limbu */ - -/* 'Tai_Le': Script */ -static const OnigCodePoint CR_Tai_Le[] = { - 2, - 0x1950, 0x196d, - 0x1970, 0x1974, -}; /* CR_Tai_Le */ - -/* 'Linear_B': Script */ -static const OnigCodePoint CR_Linear_B[] = { - 7, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, -}; /* CR_Linear_B */ - -/* 'Ugaritic': Script */ -static const OnigCodePoint CR_Ugaritic[] = { - 2, - 0x10380, 0x1039d, - 0x1039f, 0x1039f, -}; /* CR_Ugaritic */ - -/* 'Shavian': Script */ -static const OnigCodePoint CR_Shavian[] = { - 1, - 0x10450, 0x1047f, -}; /* CR_Shavian */ - -/* 'Osmanya': Script */ -static const OnigCodePoint CR_Osmanya[] = { - 2, - 0x10480, 0x1049d, - 0x104a0, 0x104a9, -}; /* CR_Osmanya */ - -/* 'Cypriot': Script */ -static const OnigCodePoint CR_Cypriot[] = { - 6, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x1083f, -}; /* CR_Cypriot */ - -/* 'Braille': Script */ -static const OnigCodePoint CR_Braille[] = { - 1, - 0x2800, 0x28ff, -}; /* CR_Braille */ - -/* 'Buginese': Script */ -static const OnigCodePoint CR_Buginese[] = { - 2, - 0x1a00, 0x1a1b, - 0x1a1e, 0x1a1f, -}; /* CR_Buginese */ - -/* 'Coptic': Script */ -static const OnigCodePoint CR_Coptic[] = { - 3, - 0x03e2, 0x03ef, - 0x2c80, 0x2cf1, - 0x2cf9, 0x2cff, -}; /* CR_Coptic */ - -/* 'New_Tai_Lue': Script */ -static const OnigCodePoint CR_New_Tai_Lue[] = { - 4, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x19de, 0x19df, -}; /* CR_New_Tai_Lue */ - -/* 'Glagolitic': Script */ -static const OnigCodePoint CR_Glagolitic[] = { - 2, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, -}; /* CR_Glagolitic */ - -/* 'Tifinagh': Script */ -static const OnigCodePoint CR_Tifinagh[] = { - 2, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, -}; /* CR_Tifinagh */ - -/* 'Syloti_Nagri': Script */ -static const OnigCodePoint CR_Syloti_Nagri[] = { - 1, - 0xa800, 0xa82b, -}; /* CR_Syloti_Nagri */ - -/* 'Old_Persian': Script */ -static const OnigCodePoint CR_Old_Persian[] = { - 2, - 0x103a0, 0x103c3, - 0x103c8, 0x103d5, -}; /* CR_Old_Persian */ - -/* 'Kharoshthi': Script */ -static const OnigCodePoint CR_Kharoshthi[] = { - 8, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a47, - 0x10a50, 0x10a58, -}; /* CR_Kharoshthi */ - -/* 'Balinese': Script */ -static const OnigCodePoint CR_Balinese[] = { - 2, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b7c, -}; /* CR_Balinese */ - -/* 'Cuneiform': Script */ -static const OnigCodePoint CR_Cuneiform[] = { - 3, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x12470, 0x12473, -}; /* CR_Cuneiform */ - -/* 'Phoenician': Script */ -static const OnigCodePoint CR_Phoenician[] = { - 2, - 0x10900, 0x1091b, - 0x1091f, 0x1091f, -}; /* CR_Phoenician */ - -/* 'Phags_Pa': Script */ -static const OnigCodePoint CR_Phags_Pa[] = { - 1, - 0xa840, 0xa877, -}; /* CR_Phags_Pa */ - -/* 'Nko': Script */ -static const OnigCodePoint CR_Nko[] = { - 1, - 0x07c0, 0x07fa, -}; /* CR_Nko */ - -/* 'Sundanese': Script */ -static const OnigCodePoint CR_Sundanese[] = { - 2, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, -}; /* CR_Sundanese */ - -/* 'Lepcha': Script */ -static const OnigCodePoint CR_Lepcha[] = { - 3, - 0x1c00, 0x1c37, - 0x1c3b, 0x1c49, - 0x1c4d, 0x1c4f, -}; /* CR_Lepcha */ - -/* 'Ol_Chiki': Script */ -static const OnigCodePoint CR_Ol_Chiki[] = { - 1, - 0x1c50, 0x1c7f, -}; /* CR_Ol_Chiki */ - -/* 'Vai': Script */ -static const OnigCodePoint CR_Vai[] = { - 1, - 0xa500, 0xa62b, -}; /* CR_Vai */ - -/* 'Saurashtra': Script */ -static const OnigCodePoint CR_Saurashtra[] = { - 2, - 0xa880, 0xa8c4, - 0xa8ce, 0xa8d9, -}; /* CR_Saurashtra */ - -/* 'Kayah_Li': Script */ -static const OnigCodePoint CR_Kayah_Li[] = { - 1, - 0xa900, 0xa92f, -}; /* CR_Kayah_Li */ - -/* 'Rejang': Script */ -static const OnigCodePoint CR_Rejang[] = { - 2, - 0xa930, 0xa953, - 0xa95f, 0xa95f, -}; /* CR_Rejang */ - -/* 'Lycian': Script */ -static const OnigCodePoint CR_Lycian[] = { - 1, - 0x10280, 0x1029c, -}; /* CR_Lycian */ - -/* 'Carian': Script */ -static const OnigCodePoint CR_Carian[] = { - 1, - 0x102a0, 0x102d0, -}; /* CR_Carian */ - -/* 'Lydian': Script */ -static const OnigCodePoint CR_Lydian[] = { - 2, - 0x10920, 0x10939, - 0x1093f, 0x1093f, -}; /* CR_Lydian */ - -/* 'Cham': Script */ -static const OnigCodePoint CR_Cham[] = { - 4, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa5c, 0xaa5f, -}; /* CR_Cham */ - -/* 'Tai_Tham': Script */ -static const OnigCodePoint CR_Tai_Tham[] = { - 5, - 0x1a20, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa0, 0x1aad, -}; /* CR_Tai_Tham */ - -/* 'Tai_Viet': Script */ -static const OnigCodePoint CR_Tai_Viet[] = { - 2, - 0xaa80, 0xaac2, - 0xaadb, 0xaadf, -}; /* CR_Tai_Viet */ - -/* 'Avestan': Script */ -static const OnigCodePoint CR_Avestan[] = { - 2, - 0x10b00, 0x10b35, - 0x10b39, 0x10b3f, -}; /* CR_Avestan */ - -/* 'Egyptian_Hieroglyphs': Script */ -static const OnigCodePoint CR_Egyptian_Hieroglyphs[] = { - 1, - 0x13000, 0x1342e, -}; /* CR_Egyptian_Hieroglyphs */ - -/* 'Samaritan': Script */ -static const OnigCodePoint CR_Samaritan[] = { - 2, - 0x0800, 0x082d, - 0x0830, 0x083e, -}; /* CR_Samaritan */ - -/* 'Lisu': Script */ -static const OnigCodePoint CR_Lisu[] = { - 1, - 0xa4d0, 0xa4ff, -}; /* CR_Lisu */ - -/* 'Bamum': Script */ -static const OnigCodePoint CR_Bamum[] = { - 1, - 0xa6a0, 0xa6f7, -}; /* CR_Bamum */ - -/* 'Javanese': Script */ -static const OnigCodePoint CR_Javanese[] = { - 3, - 0xa980, 0xa9cd, - 0xa9cf, 0xa9d9, - 0xa9de, 0xa9df, -}; /* CR_Javanese */ - -/* 'Meetei_Mayek': Script */ -static const OnigCodePoint CR_Meetei_Mayek[] = { - 2, - 0xabc0, 0xabed, - 0xabf0, 0xabf9, -}; /* CR_Meetei_Mayek */ - -/* 'Imperial_Aramaic': Script */ -static const OnigCodePoint CR_Imperial_Aramaic[] = { - 2, - 0x10840, 0x10855, - 0x10857, 0x1085f, -}; /* CR_Imperial_Aramaic */ - -/* 'Old_South_Arabian': Script */ -static const OnigCodePoint CR_Old_South_Arabian[] = { - 1, - 0x10a60, 0x10a7f, -}; /* CR_Old_South_Arabian */ - -/* 'Inscriptional_Parthian': Script */ -static const OnigCodePoint CR_Inscriptional_Parthian[] = { - 2, - 0x10b40, 0x10b55, - 0x10b58, 0x10b5f, -}; /* CR_Inscriptional_Parthian */ - -/* 'Inscriptional_Pahlavi': Script */ -static const OnigCodePoint CR_Inscriptional_Pahlavi[] = { - 2, - 0x10b60, 0x10b72, - 0x10b78, 0x10b7f, -}; /* CR_Inscriptional_Pahlavi */ - -/* 'Old_Turkic': Script */ -static const OnigCodePoint CR_Old_Turkic[] = { - 1, - 0x10c00, 0x10c48, -}; /* CR_Old_Turkic */ - -/* 'Kaithi': Script */ -static const OnigCodePoint CR_Kaithi[] = { - 1, - 0x11080, 0x110c1, -}; /* CR_Kaithi */ - -/* 'White_Space': Binary Property */ -static const OnigCodePoint CR_White_Space[] = { - 11, - 0x0009, 0x000d, - 0x0020, 0x0020, - 0x0085, 0x0085, - 0x00a0, 0x00a0, - 0x1680, 0x1680, - 0x180e, 0x180e, - 0x2000, 0x200a, - 0x2028, 0x2029, - 0x202f, 0x202f, - 0x205f, 0x205f, - 0x3000, 0x3000, -}; /* CR_White_Space */ - -/* 'Bidi_Control': Binary Property */ -static const OnigCodePoint CR_Bidi_Control[] = { - 2, - 0x200e, 0x200f, - 0x202a, 0x202e, -}; /* CR_Bidi_Control */ - -/* 'Join_Control': Binary Property */ -static const OnigCodePoint CR_Join_Control[] = { - 1, - 0x200c, 0x200d, -}; /* CR_Join_Control */ - -/* 'Dash': Binary Property */ -static const OnigCodePoint CR_Dash[] = { - 19, - 0x002d, 0x002d, - 0x058a, 0x058a, - 0x05be, 0x05be, - 0x1400, 0x1400, - 0x1806, 0x1806, - 0x2010, 0x2015, - 0x2053, 0x2053, - 0x207b, 0x207b, - 0x208b, 0x208b, - 0x2212, 0x2212, - 0x2e17, 0x2e17, - 0x2e1a, 0x2e1a, - 0x301c, 0x301c, - 0x3030, 0x3030, - 0x30a0, 0x30a0, - 0xfe31, 0xfe32, - 0xfe58, 0xfe58, - 0xfe63, 0xfe63, - 0xff0d, 0xff0d, -}; /* CR_Dash */ - -/* 'Hyphen': Binary Property */ -static const OnigCodePoint CR_Hyphen[] = { - 10, - 0x002d, 0x002d, - 0x00ad, 0x00ad, - 0x058a, 0x058a, - 0x1806, 0x1806, - 0x2010, 0x2011, - 0x2e17, 0x2e17, - 0x30fb, 0x30fb, - 0xfe63, 0xfe63, - 0xff0d, 0xff0d, - 0xff65, 0xff65, -}; /* CR_Hyphen */ - -/* 'Quotation_Mark': Binary Property */ -static const OnigCodePoint CR_Quotation_Mark[] = { - 12, - 0x0022, 0x0022, - 0x0027, 0x0027, - 0x00ab, 0x00ab, - 0x00bb, 0x00bb, - 0x2018, 0x201f, - 0x2039, 0x203a, - 0x300c, 0x300f, - 0x301d, 0x301f, - 0xfe41, 0xfe44, - 0xff02, 0xff02, - 0xff07, 0xff07, - 0xff62, 0xff63, -}; /* CR_Quotation_Mark */ - -/* 'Terminal_Punctuation': Binary Property */ -static const OnigCodePoint CR_Terminal_Punctuation[] = { - 65, - 0x0021, 0x0021, - 0x002c, 0x002c, - 0x002e, 0x002e, - 0x003a, 0x003b, - 0x003f, 0x003f, - 0x037e, 0x037e, - 0x0387, 0x0387, - 0x0589, 0x0589, - 0x05c3, 0x05c3, - 0x060c, 0x060c, - 0x061b, 0x061b, - 0x061f, 0x061f, - 0x06d4, 0x06d4, - 0x0700, 0x070a, - 0x070c, 0x070c, - 0x07f8, 0x07f9, - 0x0830, 0x083e, - 0x0964, 0x0965, - 0x0e5a, 0x0e5b, - 0x0f08, 0x0f08, - 0x0f0d, 0x0f12, - 0x104a, 0x104b, - 0x1361, 0x1368, - 0x166d, 0x166e, - 0x16eb, 0x16ed, - 0x17d4, 0x17d6, - 0x17da, 0x17da, - 0x1802, 0x1805, - 0x1808, 0x1809, - 0x1944, 0x1945, - 0x1aa8, 0x1aab, - 0x1b5a, 0x1b5b, - 0x1b5d, 0x1b5f, - 0x1c3b, 0x1c3f, - 0x1c7e, 0x1c7f, - 0x203c, 0x203d, - 0x2047, 0x2049, - 0x2e2e, 0x2e2e, - 0x3001, 0x3002, - 0xa4fe, 0xa4ff, - 0xa60d, 0xa60f, - 0xa6f3, 0xa6f7, - 0xa876, 0xa877, - 0xa8ce, 0xa8cf, - 0xa92f, 0xa92f, - 0xa9c7, 0xa9c9, - 0xaa5d, 0xaa5f, - 0xaadf, 0xaadf, - 0xabeb, 0xabeb, - 0xfe50, 0xfe52, - 0xfe54, 0xfe57, - 0xff01, 0xff01, - 0xff0c, 0xff0c, - 0xff0e, 0xff0e, - 0xff1a, 0xff1b, - 0xff1f, 0xff1f, - 0xff61, 0xff61, - 0xff64, 0xff64, - 0x1039f, 0x1039f, - 0x103d0, 0x103d0, - 0x10857, 0x10857, - 0x1091f, 0x1091f, - 0x10b3a, 0x10b3f, - 0x110be, 0x110c1, - 0x12470, 0x12473, -}; /* CR_Terminal_Punctuation */ - -/* 'Other_Math': Binary Property */ -static const OnigCodePoint CR_Other_Math[] = { - 99, - 0x005e, 0x005e, - 0x03d0, 0x03d2, - 0x03d5, 0x03d5, - 0x03f0, 0x03f1, - 0x03f4, 0x03f5, - 0x2016, 0x2016, - 0x2032, 0x2034, - 0x2040, 0x2040, - 0x2061, 0x2064, - 0x207d, 0x207e, - 0x208d, 0x208e, - 0x20d0, 0x20dc, - 0x20e1, 0x20e1, - 0x20e5, 0x20e6, - 0x20eb, 0x20ef, - 0x2102, 0x2102, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2128, 0x2129, - 0x212c, 0x212d, - 0x212f, 0x2131, - 0x2133, 0x2138, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x2195, 0x2199, - 0x219c, 0x219f, - 0x21a1, 0x21a2, - 0x21a4, 0x21a5, - 0x21a7, 0x21a7, - 0x21a9, 0x21ad, - 0x21b0, 0x21b1, - 0x21b6, 0x21b7, - 0x21bc, 0x21cd, - 0x21d0, 0x21d1, - 0x21d3, 0x21d3, - 0x21d5, 0x21db, - 0x21dd, 0x21dd, - 0x21e4, 0x21e5, - 0x23b4, 0x23b5, - 0x23b7, 0x23b7, - 0x23d0, 0x23d0, - 0x23e2, 0x23e2, - 0x25a0, 0x25a1, - 0x25ae, 0x25b6, - 0x25bc, 0x25c0, - 0x25c6, 0x25c7, - 0x25ca, 0x25cb, - 0x25cf, 0x25d3, - 0x25e2, 0x25e2, - 0x25e4, 0x25e4, - 0x25e7, 0x25ec, - 0x2605, 0x2606, - 0x2640, 0x2640, - 0x2642, 0x2642, - 0x2660, 0x2663, - 0x266d, 0x266e, - 0x27c5, 0x27c6, - 0x27e6, 0x27ef, - 0x2983, 0x2998, - 0x29d8, 0x29db, - 0x29fc, 0x29fd, - 0xfe61, 0xfe61, - 0xfe63, 0xfe63, - 0xfe68, 0xfe68, - 0xff3c, 0xff3c, - 0xff3e, 0xff3e, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x1d7ce, 0x1d7ff, -}; /* CR_Other_Math */ - -/* 'Hex_Digit': Binary Property */ -static const OnigCodePoint CR_Hex_Digit[] = { - 6, - 0x0030, 0x0039, - 0x0041, 0x0046, - 0x0061, 0x0066, - 0xff10, 0xff19, - 0xff21, 0xff26, - 0xff41, 0xff46, -}; /* CR_Hex_Digit */ - -/* 'ASCII_Hex_Digit': Binary Property */ -static const OnigCodePoint CR_ASCII_Hex_Digit[] = { - 3, - 0x0030, 0x0039, - 0x0041, 0x0046, - 0x0061, 0x0066, -}; /* CR_ASCII_Hex_Digit */ - -/* 'Other_Alphabetic': Binary Property */ -static const OnigCodePoint CR_Other_Alphabetic[] = { - 141, - 0x0345, 0x0345, - 0x05b0, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x0610, 0x061a, - 0x064b, 0x0657, - 0x0659, 0x065e, - 0x0670, 0x0670, - 0x06d6, 0x06dc, - 0x06e1, 0x06e4, - 0x06e7, 0x06e8, - 0x06ed, 0x06ed, - 0x0711, 0x0711, - 0x0730, 0x073f, - 0x07a6, 0x07b0, - 0x0816, 0x0817, - 0x081b, 0x0823, - 0x0825, 0x0827, - 0x0829, 0x082c, - 0x0900, 0x0903, - 0x093e, 0x094c, - 0x094e, 0x094e, - 0x0955, 0x0955, - 0x0962, 0x0963, - 0x0981, 0x0983, - 0x09be, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09cc, - 0x09d7, 0x09d7, - 0x09e2, 0x09e3, - 0x0a01, 0x0a03, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4c, - 0x0a51, 0x0a51, - 0x0a70, 0x0a71, - 0x0a75, 0x0a75, - 0x0a81, 0x0a83, - 0x0abe, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acc, - 0x0ae2, 0x0ae3, - 0x0b01, 0x0b03, - 0x0b3e, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4c, - 0x0b56, 0x0b57, - 0x0b62, 0x0b63, - 0x0b82, 0x0b82, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcc, - 0x0bd7, 0x0bd7, - 0x0c01, 0x0c03, - 0x0c3e, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4c, - 0x0c55, 0x0c56, - 0x0c62, 0x0c63, - 0x0c82, 0x0c83, - 0x0cbe, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccc, - 0x0cd5, 0x0cd6, - 0x0ce2, 0x0ce3, - 0x0d02, 0x0d03, - 0x0d3e, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4c, - 0x0d57, 0x0d57, - 0x0d62, 0x0d63, - 0x0d82, 0x0d83, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0e31, 0x0e31, - 0x0e34, 0x0e3a, - 0x0e4d, 0x0e4d, - 0x0eb1, 0x0eb1, - 0x0eb4, 0x0eb9, - 0x0ebb, 0x0ebc, - 0x0ecd, 0x0ecd, - 0x0f71, 0x0f81, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x102b, 0x1036, - 0x1038, 0x1038, - 0x103b, 0x103e, - 0x1056, 0x1059, - 0x105e, 0x1060, - 0x1062, 0x1062, - 0x1067, 0x1068, - 0x1071, 0x1074, - 0x1082, 0x1086, - 0x109c, 0x109d, - 0x135f, 0x135f, - 0x1712, 0x1713, - 0x1732, 0x1733, - 0x1752, 0x1753, - 0x1772, 0x1773, - 0x17b6, 0x17c8, - 0x18a9, 0x18a9, - 0x1920, 0x192b, - 0x1930, 0x1938, - 0x19b0, 0x19c0, - 0x19c8, 0x19c9, - 0x1a17, 0x1a1b, - 0x1a55, 0x1a5e, - 0x1a61, 0x1a74, - 0x1b00, 0x1b04, - 0x1b35, 0x1b43, - 0x1b80, 0x1b82, - 0x1ba1, 0x1ba9, - 0x1c24, 0x1c35, - 0x1cf2, 0x1cf2, - 0x24b6, 0x24e9, - 0x2de0, 0x2dff, - 0xa823, 0xa827, - 0xa880, 0xa881, - 0xa8b4, 0xa8c3, - 0xa926, 0xa92a, - 0xa947, 0xa952, - 0xa980, 0xa983, - 0xa9b3, 0xa9bf, - 0xaa29, 0xaa36, - 0xaa43, 0xaa43, - 0xaa4c, 0xaa4d, - 0xaab0, 0xaab0, - 0xaab2, 0xaab4, - 0xaab7, 0xaab8, - 0xaabe, 0xaabe, - 0xabe3, 0xabea, - 0xfb1e, 0xfb1e, - 0x10a01, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a0f, - 0x11082, 0x11082, - 0x110b0, 0x110b8, -}; /* CR_Other_Alphabetic */ - -/* 'Ideographic': Binary Property */ -static const OnigCodePoint CR_Ideographic[] = { - 11, - 0x3006, 0x3007, - 0x3021, 0x3029, - 0x3038, 0x303a, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, -}; /* CR_Ideographic */ - -/* 'Diacritic': Binary Property */ -static const OnigCodePoint CR_Diacritic[] = { - 117, - 0x005e, 0x005e, - 0x0060, 0x0060, - 0x00a8, 0x00a8, - 0x00af, 0x00af, - 0x00b4, 0x00b4, - 0x00b7, 0x00b8, - 0x02b0, 0x034e, - 0x0350, 0x0357, - 0x035d, 0x0362, - 0x0374, 0x0375, - 0x037a, 0x037a, - 0x0384, 0x0385, - 0x0483, 0x0487, - 0x0559, 0x0559, - 0x0591, 0x05a1, - 0x05a3, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c4, - 0x064b, 0x0652, - 0x0657, 0x0658, - 0x06df, 0x06e0, - 0x06e5, 0x06e6, - 0x06ea, 0x06ec, - 0x0730, 0x074a, - 0x07a6, 0x07b0, - 0x07eb, 0x07f5, - 0x0818, 0x0819, - 0x093c, 0x093c, - 0x094d, 0x094d, - 0x0951, 0x0954, - 0x0971, 0x0971, - 0x09bc, 0x09bc, - 0x09cd, 0x09cd, - 0x0a3c, 0x0a3c, - 0x0a4d, 0x0a4d, - 0x0abc, 0x0abc, - 0x0acd, 0x0acd, - 0x0b3c, 0x0b3c, - 0x0b4d, 0x0b4d, - 0x0bcd, 0x0bcd, - 0x0c4d, 0x0c4d, - 0x0cbc, 0x0cbc, - 0x0ccd, 0x0ccd, - 0x0d4d, 0x0d4d, - 0x0dca, 0x0dca, - 0x0e47, 0x0e4c, - 0x0e4e, 0x0e4e, - 0x0ec8, 0x0ecc, - 0x0f18, 0x0f19, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f3e, 0x0f3f, - 0x0f82, 0x0f84, - 0x0f86, 0x0f87, - 0x0fc6, 0x0fc6, - 0x1037, 0x1037, - 0x1039, 0x103a, - 0x1087, 0x108d, - 0x108f, 0x108f, - 0x109a, 0x109b, - 0x17c9, 0x17d3, - 0x17dd, 0x17dd, - 0x1939, 0x193b, - 0x1a75, 0x1a7c, - 0x1a7f, 0x1a7f, - 0x1b34, 0x1b34, - 0x1b44, 0x1b44, - 0x1b6b, 0x1b73, - 0x1baa, 0x1baa, - 0x1c36, 0x1c37, - 0x1c78, 0x1c7d, - 0x1cd0, 0x1ce8, - 0x1ced, 0x1ced, - 0x1d2c, 0x1d6a, - 0x1dc4, 0x1dcf, - 0x1dfd, 0x1dff, - 0x1fbd, 0x1fbd, - 0x1fbf, 0x1fc1, - 0x1fcd, 0x1fcf, - 0x1fdd, 0x1fdf, - 0x1fed, 0x1fef, - 0x1ffd, 0x1ffe, - 0x2cef, 0x2cf1, - 0x2e2f, 0x2e2f, - 0x302a, 0x302f, - 0x3099, 0x309c, - 0x30fc, 0x30fc, - 0xa66f, 0xa66f, - 0xa67c, 0xa67d, - 0xa67f, 0xa67f, - 0xa6f0, 0xa6f1, - 0xa717, 0xa721, - 0xa788, 0xa788, - 0xa8c4, 0xa8c4, - 0xa8e0, 0xa8f1, - 0xa92b, 0xa92e, - 0xa953, 0xa953, - 0xa9b3, 0xa9b3, - 0xa9c0, 0xa9c0, - 0xaa7b, 0xaa7b, - 0xaabf, 0xaac2, - 0xabec, 0xabed, - 0xfb1e, 0xfb1e, - 0xfe20, 0xfe26, - 0xff3e, 0xff3e, - 0xff40, 0xff40, - 0xff70, 0xff70, - 0xff9e, 0xff9f, - 0xffe3, 0xffe3, - 0x110b9, 0x110ba, - 0x1d167, 0x1d169, - 0x1d16d, 0x1d172, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, -}; /* CR_Diacritic */ - -/* 'Extender': Binary Property */ -static const OnigCodePoint CR_Extender[] = { - 20, - 0x00b7, 0x00b7, - 0x02d0, 0x02d1, - 0x0640, 0x0640, - 0x07fa, 0x07fa, - 0x0e46, 0x0e46, - 0x0ec6, 0x0ec6, - 0x1843, 0x1843, - 0x1aa7, 0x1aa7, - 0x1c36, 0x1c36, - 0x1c7b, 0x1c7b, - 0x3005, 0x3005, - 0x3031, 0x3035, - 0x309d, 0x309e, - 0x30fc, 0x30fe, - 0xa015, 0xa015, - 0xa60c, 0xa60c, - 0xa9cf, 0xa9cf, - 0xaa70, 0xaa70, - 0xaadd, 0xaadd, - 0xff70, 0xff70, -}; /* CR_Extender */ - -/* 'Other_Lowercase': Binary Property */ -static const OnigCodePoint CR_Other_Lowercase[] = { - 13, - 0x02b0, 0x02b8, - 0x02c0, 0x02c1, - 0x02e0, 0x02e4, - 0x0345, 0x0345, - 0x037a, 0x037a, - 0x1d2c, 0x1d61, - 0x1d78, 0x1d78, - 0x1d9b, 0x1dbf, - 0x2090, 0x2094, - 0x2170, 0x217f, - 0x24d0, 0x24e9, - 0x2c7d, 0x2c7d, - 0xa770, 0xa770, -}; /* CR_Other_Lowercase */ - -/* 'Other_Uppercase': Binary Property */ -static const OnigCodePoint CR_Other_Uppercase[] = { - 2, - 0x2160, 0x216f, - 0x24b6, 0x24cf, -}; /* CR_Other_Uppercase */ - -/* 'Noncharacter_Code_Point': Binary Property */ -static const OnigCodePoint CR_Noncharacter_Code_Point[] = { - 18, - 0xfdd0, 0xfdef, - 0xfffe, 0xffff, - 0x1fffe, 0x1ffff, - 0x2fffe, 0x2ffff, - 0x3fffe, 0x3ffff, - 0x4fffe, 0x4ffff, - 0x5fffe, 0x5ffff, - 0x6fffe, 0x6ffff, - 0x7fffe, 0x7ffff, - 0x8fffe, 0x8ffff, - 0x9fffe, 0x9ffff, - 0xafffe, 0xaffff, - 0xbfffe, 0xbffff, - 0xcfffe, 0xcffff, - 0xdfffe, 0xdffff, - 0xefffe, 0xeffff, - 0xffffe, 0xfffff, - 0x10fffe, 0x10ffff, -}; /* CR_Noncharacter_Code_Point */ - -/* 'Other_Grapheme_Extend': Binary Property */ -static const OnigCodePoint CR_Other_Grapheme_Extend[] = { - 16, - 0x09be, 0x09be, - 0x09d7, 0x09d7, - 0x0b3e, 0x0b3e, - 0x0b57, 0x0b57, - 0x0bbe, 0x0bbe, - 0x0bd7, 0x0bd7, - 0x0cc2, 0x0cc2, - 0x0cd5, 0x0cd6, - 0x0d3e, 0x0d3e, - 0x0d57, 0x0d57, - 0x0dcf, 0x0dcf, - 0x0ddf, 0x0ddf, - 0x200c, 0x200d, - 0xff9e, 0xff9f, - 0x1d165, 0x1d165, - 0x1d16e, 0x1d172, -}; /* CR_Other_Grapheme_Extend */ - -/* 'IDS_Binary_Operator': Binary Property */ -static const OnigCodePoint CR_IDS_Binary_Operator[] = { - 2, - 0x2ff0, 0x2ff1, - 0x2ff4, 0x2ffb, -}; /* CR_IDS_Binary_Operator */ - -/* 'IDS_Trinary_Operator': Binary Property */ -static const OnigCodePoint CR_IDS_Trinary_Operator[] = { - 1, - 0x2ff2, 0x2ff3, -}; /* CR_IDS_Trinary_Operator */ - -/* 'Radical': Binary Property */ -static const OnigCodePoint CR_Radical[] = { - 3, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, -}; /* CR_Radical */ - -/* 'Unified_Ideograph': Binary Property */ -static const OnigCodePoint CR_Unified_Ideograph[] = { - 11, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xfa0e, 0xfa0f, - 0xfa11, 0xfa11, - 0xfa13, 0xfa14, - 0xfa1f, 0xfa1f, - 0xfa21, 0xfa21, - 0xfa23, 0xfa24, - 0xfa27, 0xfa29, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, -}; /* CR_Unified_Ideograph */ - -/* 'Other_Default_Ignorable_Code_Point': Binary Property */ -static const OnigCodePoint CR_Other_Default_Ignorable_Code_Point[] = { - 10, - 0x034f, 0x034f, - 0x115f, 0x1160, - 0x2065, 0x2069, - 0x3164, 0x3164, - 0xffa0, 0xffa0, - 0xfff0, 0xfff8, - 0xe0000, 0xe0000, - 0xe0002, 0xe001f, - 0xe0080, 0xe00ff, - 0xe01f0, 0xe0fff, -}; /* CR_Other_Default_Ignorable_Code_Point */ - -/* 'Deprecated': Binary Property */ -static const OnigCodePoint CR_Deprecated[] = { - 8, - 0x0149, 0x0149, - 0x0f77, 0x0f77, - 0x0f79, 0x0f79, - 0x17a3, 0x17a4, - 0x206a, 0x206f, - 0x2329, 0x232a, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, -}; /* CR_Deprecated */ - -/* 'Soft_Dotted': Binary Property */ -static const OnigCodePoint CR_Soft_Dotted[] = { - 31, - 0x0069, 0x006a, - 0x012f, 0x012f, - 0x0249, 0x0249, - 0x0268, 0x0268, - 0x029d, 0x029d, - 0x02b2, 0x02b2, - 0x03f3, 0x03f3, - 0x0456, 0x0456, - 0x0458, 0x0458, - 0x1d62, 0x1d62, - 0x1d96, 0x1d96, - 0x1da4, 0x1da4, - 0x1da8, 0x1da8, - 0x1e2d, 0x1e2d, - 0x1ecb, 0x1ecb, - 0x2071, 0x2071, - 0x2148, 0x2149, - 0x2c7c, 0x2c7c, - 0x1d422, 0x1d423, - 0x1d456, 0x1d457, - 0x1d48a, 0x1d48b, - 0x1d4be, 0x1d4bf, - 0x1d4f2, 0x1d4f3, - 0x1d526, 0x1d527, - 0x1d55a, 0x1d55b, - 0x1d58e, 0x1d58f, - 0x1d5c2, 0x1d5c3, - 0x1d5f6, 0x1d5f7, - 0x1d62a, 0x1d62b, - 0x1d65e, 0x1d65f, - 0x1d692, 0x1d693, -}; /* CR_Soft_Dotted */ - -/* 'Logical_Order_Exception': Binary Property */ -static const OnigCodePoint CR_Logical_Order_Exception[] = { - 5, - 0x0e40, 0x0e44, - 0x0ec0, 0x0ec4, - 0xaab5, 0xaab6, - 0xaab9, 0xaab9, - 0xaabb, 0xaabc, -}; /* CR_Logical_Order_Exception */ - -/* 'Other_ID_Start': Binary Property */ -static const OnigCodePoint CR_Other_ID_Start[] = { - 3, - 0x2118, 0x2118, - 0x212e, 0x212e, - 0x309b, 0x309c, -}; /* CR_Other_ID_Start */ - -/* 'Other_ID_Continue': Binary Property */ -static const OnigCodePoint CR_Other_ID_Continue[] = { - 3, - 0x00b7, 0x00b7, - 0x0387, 0x0387, - 0x1369, 0x1371, -}; /* CR_Other_ID_Continue */ - -/* 'STerm': Binary Property */ -static const OnigCodePoint CR_STerm[] = { - 43, - 0x0021, 0x0021, - 0x002e, 0x002e, - 0x003f, 0x003f, - 0x055c, 0x055c, - 0x055e, 0x055e, - 0x0589, 0x0589, - 0x061f, 0x061f, - 0x06d4, 0x06d4, - 0x0700, 0x0702, - 0x07f9, 0x07f9, - 0x0964, 0x0965, - 0x104a, 0x104b, - 0x1362, 0x1362, - 0x1367, 0x1368, - 0x166e, 0x166e, - 0x1803, 0x1803, - 0x1809, 0x1809, - 0x1944, 0x1945, - 0x1b5a, 0x1b5b, - 0x1b5e, 0x1b5f, - 0x1c3b, 0x1c3c, - 0x1c7e, 0x1c7f, - 0x203c, 0x203d, - 0x2047, 0x2049, - 0x2e2e, 0x2e2e, - 0x3002, 0x3002, - 0xa4ff, 0xa4ff, - 0xa60e, 0xa60f, - 0xa6f3, 0xa6f3, - 0xa6f7, 0xa6f7, - 0xa876, 0xa877, - 0xa8ce, 0xa8cf, - 0xa92f, 0xa92f, - 0xa9c8, 0xa9c9, - 0xaa5d, 0xaa5f, - 0xabeb, 0xabeb, - 0xfe52, 0xfe52, - 0xfe56, 0xfe57, - 0xff01, 0xff01, - 0xff0e, 0xff0e, - 0xff1f, 0xff1f, - 0xff61, 0xff61, - 0x110be, 0x110c1, -}; /* CR_STerm */ - -/* 'Variation_Selector': Binary Property */ -static const OnigCodePoint CR_Variation_Selector[] = { - 3, - 0x180b, 0x180d, - 0xfe00, 0xfe0f, - 0xe0100, 0xe01ef, -}; /* CR_Variation_Selector */ - -/* 'Pattern_White_Space': Binary Property */ -static const OnigCodePoint CR_Pattern_White_Space[] = { - 5, - 0x0009, 0x000d, - 0x0020, 0x0020, - 0x0085, 0x0085, - 0x200e, 0x200f, - 0x2028, 0x2029, -}; /* CR_Pattern_White_Space */ - -/* 'Pattern_Syntax': Binary Property */ -static const OnigCodePoint CR_Pattern_Syntax[] = { - 28, - 0x0021, 0x002f, - 0x003a, 0x0040, - 0x005b, 0x005e, - 0x0060, 0x0060, - 0x007b, 0x007e, - 0x00a1, 0x00a7, - 0x00a9, 0x00a9, - 0x00ab, 0x00ac, - 0x00ae, 0x00ae, - 0x00b0, 0x00b1, - 0x00b6, 0x00b6, - 0x00bb, 0x00bb, - 0x00bf, 0x00bf, - 0x00d7, 0x00d7, - 0x00f7, 0x00f7, - 0x2010, 0x2027, - 0x2030, 0x203e, - 0x2041, 0x2053, - 0x2055, 0x205e, - 0x2190, 0x245f, - 0x2500, 0x2775, - 0x2794, 0x2bff, - 0x2e00, 0x2e7f, - 0x3001, 0x3003, - 0x3008, 0x3020, - 0x3030, 0x3030, - 0xfd3e, 0xfd3f, - 0xfe45, 0xfe46, -}; /* CR_Pattern_Syntax */ -#endif /* USE_UNICODE_PROPERTIES */ -#endif /* USE_UNICODE_PROPERTIES */ - -/* 'NEWLINE': [[:NEWLINE:]] */ -static const OnigCodePoint CR_NEWLINE[] = { - 1, - 0x000a, 0x000a, -}; /* CR_NEWLINE */ - -/* 'Alpha': [[:Alpha:]] */ -#define CR_Alpha CR_Alphabetic - -/* 'Blank': [[:Blank:]] */ -static const OnigCodePoint CR_Blank[] = { - 9, - 0x0009, 0x0009, - 0x0020, 0x0020, - 0x00a0, 0x00a0, - 0x1680, 0x1680, - 0x180e, 0x180e, - 0x2000, 0x200a, - 0x202f, 0x202f, - 0x205f, 0x205f, - 0x3000, 0x3000, -}; /* CR_Blank */ - -/* 'Cntrl': [[:Cntrl:]] */ -#define CR_Cntrl CR_Cc - -/* 'Digit': [[:Digit:]] */ -#define CR_Digit CR_Nd - -/* 'Graph': [[:Graph:]] */ -static const OnigCodePoint CR_Graph[] = { - 490, - 0x0021, 0x007e, - 0x00a1, 0x0377, - 0x037a, 0x037e, - 0x0384, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x0525, - 0x0531, 0x0556, - 0x0559, 0x055f, - 0x0561, 0x0587, - 0x0589, 0x058a, - 0x0591, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f4, - 0x0600, 0x0603, - 0x0606, 0x061b, - 0x061e, 0x061f, - 0x0621, 0x065e, - 0x0660, 0x070d, - 0x070f, 0x074a, - 0x074d, 0x07b1, - 0x07c0, 0x07fa, - 0x0800, 0x082d, - 0x0830, 0x083e, - 0x0900, 0x0939, - 0x093c, 0x094e, - 0x0950, 0x0955, - 0x0958, 0x0972, - 0x0979, 0x097f, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bc, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09ce, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09e6, 0x09fb, - 0x0a01, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3c, 0x0a3c, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abc, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, - 0x0ae6, 0x0aef, - 0x0af1, 0x0af1, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b66, 0x0b71, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, - 0x0bd0, 0x0bd0, - 0x0bd7, 0x0bd7, - 0x0be6, 0x0bfa, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, - 0x0c66, 0x0c6f, - 0x0c78, 0x0c7f, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, - 0x0ce6, 0x0cef, - 0x0cf1, 0x0cf2, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4d, - 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d75, - 0x0d79, 0x0d7f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df4, - 0x0e01, 0x0e3a, - 0x0e3f, 0x0e5b, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f8b, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fbe, 0x0fcc, - 0x0fce, 0x0fd8, - 0x1000, 0x10c5, - 0x10d0, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x137c, - 0x1380, 0x1399, - 0x13a0, 0x13f4, - 0x1400, 0x167f, - 0x1681, 0x169c, - 0x16a0, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1714, - 0x1720, 0x1736, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17dd, - 0x17e0, 0x17e9, - 0x17f0, 0x17f9, - 0x1800, 0x180d, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1940, 0x1940, - 0x1944, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x19de, 0x1a1b, - 0x1a1e, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa0, 0x1aad, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b7c, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, - 0x1c00, 0x1c37, - 0x1c3b, 0x1c49, - 0x1c4d, 0x1c7f, - 0x1cd0, 0x1cf2, - 0x1d00, 0x1de6, - 0x1dfd, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fc4, - 0x1fc6, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fdd, 0x1fef, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffe, - 0x200b, 0x2027, - 0x202a, 0x202e, - 0x2030, 0x205e, - 0x2060, 0x2064, - 0x206a, 0x2071, - 0x2074, 0x208e, - 0x2090, 0x2094, - 0x20a0, 0x20b8, - 0x20d0, 0x20f0, - 0x2100, 0x2189, - 0x2190, 0x23e8, - 0x2400, 0x2426, - 0x2440, 0x244a, - 0x2460, 0x26cd, - 0x26cf, 0x26e1, - 0x26e3, 0x26e3, - 0x26e8, 0x26ff, - 0x2701, 0x2704, - 0x2706, 0x2709, - 0x270c, 0x2727, - 0x2729, 0x274b, - 0x274d, 0x274d, - 0x274f, 0x2752, - 0x2756, 0x275e, - 0x2761, 0x2794, - 0x2798, 0x27af, - 0x27b1, 0x27be, - 0x27c0, 0x27ca, - 0x27cc, 0x27cc, - 0x27d0, 0x2b4c, - 0x2b50, 0x2b59, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2cf1, - 0x2cf9, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2de0, 0x2e31, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x2ff0, 0x2ffb, - 0x3001, 0x303f, - 0x3041, 0x3096, - 0x3099, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x3190, 0x31b7, - 0x31c0, 0x31e3, - 0x31f0, 0x321e, - 0x3220, 0x32fe, - 0x3300, 0x4db5, - 0x4dc0, 0x9fcb, - 0xa000, 0xa48c, - 0xa490, 0xa4c6, - 0xa4d0, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa673, - 0xa67c, 0xa697, - 0xa6a0, 0xa6f7, - 0xa700, 0xa78c, - 0xa7fb, 0xa82b, - 0xa830, 0xa839, - 0xa840, 0xa877, - 0xa880, 0xa8c4, - 0xa8ce, 0xa8d9, - 0xa8e0, 0xa8fb, - 0xa900, 0xa953, - 0xa95f, 0xa97c, - 0xa980, 0xa9cd, - 0xa9cf, 0xa9d9, - 0xa9de, 0xa9df, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa5c, 0xaa7b, - 0xaa80, 0xaac2, - 0xaadb, 0xaadf, - 0xabc0, 0xabed, - 0xabf0, 0xabf9, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xe000, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3f, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfd, - 0xfe00, 0xfe19, - 0xfe20, 0xfe26, - 0xfe30, 0xfe52, - 0xfe54, 0xfe66, - 0xfe68, 0xfe6b, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xfeff, 0xfeff, - 0xff01, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0xffe0, 0xffe6, - 0xffe8, 0xffee, - 0xfff9, 0xfffd, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10100, 0x10102, - 0x10107, 0x10133, - 0x10137, 0x1018a, - 0x10190, 0x1019b, - 0x101d0, 0x101fd, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10320, 0x10323, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x1039f, 0x103c3, - 0x103c8, 0x103d5, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10857, 0x1085f, - 0x10900, 0x1091b, - 0x1091f, 0x10939, - 0x1093f, 0x1093f, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a47, - 0x10a50, 0x10a58, - 0x10a60, 0x10a7f, - 0x10b00, 0x10b35, - 0x10b39, 0x10b55, - 0x10b58, 0x10b72, - 0x10b78, 0x10b7f, - 0x10c00, 0x10c48, - 0x10e60, 0x10e7e, - 0x11080, 0x110c1, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x12470, 0x12473, - 0x13000, 0x1342e, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d129, 0x1d1dd, - 0x1d200, 0x1d245, - 0x1d300, 0x1d356, - 0x1d360, 0x1d371, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f100, 0x1f10a, - 0x1f110, 0x1f12e, - 0x1f131, 0x1f131, - 0x1f13d, 0x1f13d, - 0x1f13f, 0x1f13f, - 0x1f142, 0x1f142, - 0x1f146, 0x1f146, - 0x1f14a, 0x1f14e, - 0x1f157, 0x1f157, - 0x1f15f, 0x1f15f, - 0x1f179, 0x1f179, - 0x1f17b, 0x1f17c, - 0x1f17f, 0x1f17f, - 0x1f18a, 0x1f18d, - 0x1f190, 0x1f190, - 0x1f200, 0x1f200, - 0x1f210, 0x1f231, - 0x1f240, 0x1f248, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, - 0xe0100, 0xe01ef, - 0xf0000, 0xffffd, - 0x100000, 0x10fffd, -}; /* CR_Graph */ - -/* 'Lower': [[:Lower:]] */ -#define CR_Lower CR_Lowercase - -/* 'Print': [[:Print:]] */ -static const OnigCodePoint CR_Print[] = { - 487, - 0x0020, 0x007e, - 0x00a0, 0x0377, - 0x037a, 0x037e, - 0x0384, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x0525, - 0x0531, 0x0556, - 0x0559, 0x055f, - 0x0561, 0x0587, - 0x0589, 0x058a, - 0x0591, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f4, - 0x0600, 0x0603, - 0x0606, 0x061b, - 0x061e, 0x061f, - 0x0621, 0x065e, - 0x0660, 0x070d, - 0x070f, 0x074a, - 0x074d, 0x07b1, - 0x07c0, 0x07fa, - 0x0800, 0x082d, - 0x0830, 0x083e, - 0x0900, 0x0939, - 0x093c, 0x094e, - 0x0950, 0x0955, - 0x0958, 0x0972, - 0x0979, 0x097f, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bc, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09ce, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09e6, 0x09fb, - 0x0a01, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3c, 0x0a3c, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abc, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, - 0x0ae6, 0x0aef, - 0x0af1, 0x0af1, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b66, 0x0b71, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, - 0x0bd0, 0x0bd0, - 0x0bd7, 0x0bd7, - 0x0be6, 0x0bfa, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, - 0x0c66, 0x0c6f, - 0x0c78, 0x0c7f, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, - 0x0ce6, 0x0cef, - 0x0cf1, 0x0cf2, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4d, - 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d75, - 0x0d79, 0x0d7f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df4, - 0x0e01, 0x0e3a, - 0x0e3f, 0x0e5b, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f8b, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fbe, 0x0fcc, - 0x0fce, 0x0fd8, - 0x1000, 0x10c5, - 0x10d0, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x137c, - 0x1380, 0x1399, - 0x13a0, 0x13f4, - 0x1400, 0x169c, - 0x16a0, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1714, - 0x1720, 0x1736, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17dd, - 0x17e0, 0x17e9, - 0x17f0, 0x17f9, - 0x1800, 0x180e, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1940, 0x1940, - 0x1944, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x19de, 0x1a1b, - 0x1a1e, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa0, 0x1aad, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b7c, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, - 0x1c00, 0x1c37, - 0x1c3b, 0x1c49, - 0x1c4d, 0x1c7f, - 0x1cd0, 0x1cf2, - 0x1d00, 0x1de6, - 0x1dfd, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fc4, - 0x1fc6, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fdd, 0x1fef, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffe, - 0x2000, 0x2027, - 0x202a, 0x2064, - 0x206a, 0x2071, - 0x2074, 0x208e, - 0x2090, 0x2094, - 0x20a0, 0x20b8, - 0x20d0, 0x20f0, - 0x2100, 0x2189, - 0x2190, 0x23e8, - 0x2400, 0x2426, - 0x2440, 0x244a, - 0x2460, 0x26cd, - 0x26cf, 0x26e1, - 0x26e3, 0x26e3, - 0x26e8, 0x26ff, - 0x2701, 0x2704, - 0x2706, 0x2709, - 0x270c, 0x2727, - 0x2729, 0x274b, - 0x274d, 0x274d, - 0x274f, 0x2752, - 0x2756, 0x275e, - 0x2761, 0x2794, - 0x2798, 0x27af, - 0x27b1, 0x27be, - 0x27c0, 0x27ca, - 0x27cc, 0x27cc, - 0x27d0, 0x2b4c, - 0x2b50, 0x2b59, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2cf1, - 0x2cf9, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2de0, 0x2e31, - 0x2e80, 0x2e99, - 0x2e9b, 0x2ef3, - 0x2f00, 0x2fd5, - 0x2ff0, 0x2ffb, - 0x3000, 0x303f, - 0x3041, 0x3096, - 0x3099, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x3190, 0x31b7, - 0x31c0, 0x31e3, - 0x31f0, 0x321e, - 0x3220, 0x32fe, - 0x3300, 0x4db5, - 0x4dc0, 0x9fcb, - 0xa000, 0xa48c, - 0xa490, 0xa4c6, - 0xa4d0, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa673, - 0xa67c, 0xa697, - 0xa6a0, 0xa6f7, - 0xa700, 0xa78c, - 0xa7fb, 0xa82b, - 0xa830, 0xa839, - 0xa840, 0xa877, - 0xa880, 0xa8c4, - 0xa8ce, 0xa8d9, - 0xa8e0, 0xa8fb, - 0xa900, 0xa953, - 0xa95f, 0xa97c, - 0xa980, 0xa9cd, - 0xa9cf, 0xa9d9, - 0xa9de, 0xa9df, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa5c, 0xaa7b, - 0xaa80, 0xaac2, - 0xaadb, 0xaadf, - 0xabc0, 0xabed, - 0xabf0, 0xabf9, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xe000, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3f, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfd, - 0xfe00, 0xfe19, - 0xfe20, 0xfe26, - 0xfe30, 0xfe52, - 0xfe54, 0xfe66, - 0xfe68, 0xfe6b, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xfeff, 0xfeff, - 0xff01, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0xffe0, 0xffe6, - 0xffe8, 0xffee, - 0xfff9, 0xfffd, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10100, 0x10102, - 0x10107, 0x10133, - 0x10137, 0x1018a, - 0x10190, 0x1019b, - 0x101d0, 0x101fd, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10320, 0x10323, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x1039f, 0x103c3, - 0x103c8, 0x103d5, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10857, 0x1085f, - 0x10900, 0x1091b, - 0x1091f, 0x10939, - 0x1093f, 0x1093f, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a47, - 0x10a50, 0x10a58, - 0x10a60, 0x10a7f, - 0x10b00, 0x10b35, - 0x10b39, 0x10b55, - 0x10b58, 0x10b72, - 0x10b78, 0x10b7f, - 0x10c00, 0x10c48, - 0x10e60, 0x10e7e, - 0x11080, 0x110c1, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x12470, 0x12473, - 0x13000, 0x1342e, - 0x1d000, 0x1d0f5, - 0x1d100, 0x1d126, - 0x1d129, 0x1d1dd, - 0x1d200, 0x1d245, - 0x1d300, 0x1d356, - 0x1d360, 0x1d371, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x1f000, 0x1f02b, - 0x1f030, 0x1f093, - 0x1f100, 0x1f10a, - 0x1f110, 0x1f12e, - 0x1f131, 0x1f131, - 0x1f13d, 0x1f13d, - 0x1f13f, 0x1f13f, - 0x1f142, 0x1f142, - 0x1f146, 0x1f146, - 0x1f14a, 0x1f14e, - 0x1f157, 0x1f157, - 0x1f15f, 0x1f15f, - 0x1f179, 0x1f179, - 0x1f17b, 0x1f17c, - 0x1f17f, 0x1f17f, - 0x1f18a, 0x1f18d, - 0x1f190, 0x1f190, - 0x1f200, 0x1f200, - 0x1f210, 0x1f231, - 0x1f240, 0x1f248, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, - 0xe0001, 0xe0001, - 0xe0020, 0xe007f, - 0xe0100, 0xe01ef, - 0xf0000, 0xffffd, - 0x100000, 0x10fffd, -}; /* CR_Print */ - -/* 'Punct': [[:Punct:]] */ -#define CR_Punct CR_P - -/* 'Space': [[:Space:]] */ -#define CR_Space CR_White_Space - -/* 'Upper': [[:Upper:]] */ -#define CR_Upper CR_Uppercase - -/* 'XDigit': [[:XDigit:]] */ -#define CR_XDigit CR_ASCII_Hex_Digit - -/* 'Word': [[:Word:]] */ -static const OnigCodePoint CR_Word[] = { - 506, - 0x0030, 0x0039, - 0x0041, 0x005a, - 0x005f, 0x005f, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0300, 0x0374, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x0483, 0x0525, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x0591, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0610, 0x061a, - 0x0621, 0x065e, - 0x0660, 0x0669, - 0x066e, 0x06d3, - 0x06d5, 0x06dc, - 0x06de, 0x06e8, - 0x06ea, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x074a, - 0x074d, 0x07b1, - 0x07c0, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x082d, - 0x0900, 0x0939, - 0x093c, 0x094e, - 0x0950, 0x0955, - 0x0958, 0x0963, - 0x0966, 0x096f, - 0x0971, 0x0972, - 0x0979, 0x097f, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bc, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09ce, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09e6, 0x09f1, - 0x0a01, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3c, 0x0a3c, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4d, - 0x0a51, 0x0a51, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abc, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acd, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, - 0x0ae6, 0x0aef, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3c, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4d, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b66, 0x0b6f, - 0x0b71, 0x0b71, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcd, - 0x0bd0, 0x0bd0, - 0x0bd7, 0x0bd7, - 0x0be6, 0x0bef, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4d, - 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, - 0x0c66, 0x0c6f, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbc, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccd, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, - 0x0ce6, 0x0cef, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4d, - 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d6f, - 0x0d7a, 0x0d7f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dca, 0x0dca, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0e01, 0x0e3a, - 0x0e40, 0x0e4e, - 0x0e50, 0x0e59, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ec8, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f18, 0x0f19, - 0x0f20, 0x0f29, - 0x0f35, 0x0f35, - 0x0f37, 0x0f37, - 0x0f39, 0x0f39, - 0x0f3e, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f84, - 0x0f86, 0x0f8b, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x0fc6, 0x0fc6, - 0x1000, 0x1049, - 0x1050, 0x109d, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x135f, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1714, - 0x1720, 0x1734, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17b3, - 0x17b6, 0x17d3, - 0x17d7, 0x17d7, - 0x17dc, 0x17dd, - 0x17e0, 0x17e9, - 0x180b, 0x180d, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x193b, - 0x1946, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x1a00, 0x1a1b, - 0x1a20, 0x1a5e, - 0x1a60, 0x1a7c, - 0x1a7f, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa7, 0x1aa7, - 0x1b00, 0x1b4b, - 0x1b50, 0x1b59, - 0x1b6b, 0x1b73, - 0x1b80, 0x1baa, - 0x1bae, 0x1bb9, - 0x1c00, 0x1c37, - 0x1c40, 0x1c49, - 0x1c4d, 0x1c7d, - 0x1cd0, 0x1cd2, - 0x1cd4, 0x1cf2, - 0x1d00, 0x1de6, - 0x1dfd, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x203f, 0x2040, - 0x2054, 0x2054, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x2094, - 0x20d0, 0x20f0, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x212f, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x24b6, 0x24e9, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cf1, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2de0, 0x2dff, - 0x2e2f, 0x2e2f, - 0x3005, 0x3007, - 0x3021, 0x302f, - 0x3031, 0x3035, - 0x3038, 0x303c, - 0x3041, 0x3096, - 0x3099, 0x309a, - 0x309d, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31b7, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa672, - 0xa67c, 0xa67d, - 0xa67f, 0xa697, - 0xa6a0, 0xa6f1, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78c, - 0xa7fb, 0xa827, - 0xa840, 0xa873, - 0xa880, 0xa8c4, - 0xa8d0, 0xa8d9, - 0xa8e0, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa900, 0xa92d, - 0xa930, 0xa953, - 0xa960, 0xa97c, - 0xa980, 0xa9c0, - 0xa9cf, 0xa9d9, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7b, - 0xaa80, 0xaac2, - 0xaadb, 0xaadd, - 0xabc0, 0xabea, - 0xabec, 0xabed, - 0xabf0, 0xabf9, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe00, 0xfe0f, - 0xfe20, 0xfe26, - 0xfe33, 0xfe34, - 0xfe4d, 0xfe4f, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff10, 0xff19, - 0xff21, 0xff3a, - 0xff3f, 0xff3f, - 0xff41, 0xff5a, - 0xff66, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x101fd, 0x101fd, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a38, 0x10a3a, - 0x10a3f, 0x10a3f, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11080, 0x110ba, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x13000, 0x1342e, - 0x1d165, 0x1d169, - 0x1d16d, 0x1d172, - 0x1d17b, 0x1d182, - 0x1d185, 0x1d18b, - 0x1d1aa, 0x1d1ad, - 0x1d242, 0x1d244, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, - 0xe0100, 0xe01ef, -}; /* CR_Word */ - -/* 'Alnum': [[:Alnum:]] */ -static const OnigCodePoint CR_Alnum[] = { - 497, - 0x0030, 0x0039, - 0x0041, 0x005a, - 0x0061, 0x007a, - 0x00aa, 0x00aa, - 0x00b5, 0x00b5, - 0x00ba, 0x00ba, - 0x00c0, 0x00d6, - 0x00d8, 0x00f6, - 0x00f8, 0x02c1, - 0x02c6, 0x02d1, - 0x02e0, 0x02e4, - 0x02ec, 0x02ec, - 0x02ee, 0x02ee, - 0x0345, 0x0345, - 0x0370, 0x0374, - 0x0376, 0x0377, - 0x037a, 0x037d, - 0x0386, 0x0386, - 0x0388, 0x038a, - 0x038c, 0x038c, - 0x038e, 0x03a1, - 0x03a3, 0x03f5, - 0x03f7, 0x0481, - 0x048a, 0x0525, - 0x0531, 0x0556, - 0x0559, 0x0559, - 0x0561, 0x0587, - 0x05b0, 0x05bd, - 0x05bf, 0x05bf, - 0x05c1, 0x05c2, - 0x05c4, 0x05c5, - 0x05c7, 0x05c7, - 0x05d0, 0x05ea, - 0x05f0, 0x05f2, - 0x0610, 0x061a, - 0x0621, 0x0657, - 0x0659, 0x065e, - 0x0660, 0x0669, - 0x066e, 0x06d3, - 0x06d5, 0x06dc, - 0x06e1, 0x06e8, - 0x06ed, 0x06fc, - 0x06ff, 0x06ff, - 0x0710, 0x073f, - 0x074d, 0x07b1, - 0x07c0, 0x07ea, - 0x07f4, 0x07f5, - 0x07fa, 0x07fa, - 0x0800, 0x0817, - 0x081a, 0x082c, - 0x0900, 0x0939, - 0x093d, 0x094c, - 0x094e, 0x094e, - 0x0950, 0x0950, - 0x0955, 0x0955, - 0x0958, 0x0963, - 0x0966, 0x096f, - 0x0971, 0x0972, - 0x0979, 0x097f, - 0x0981, 0x0983, - 0x0985, 0x098c, - 0x098f, 0x0990, - 0x0993, 0x09a8, - 0x09aa, 0x09b0, - 0x09b2, 0x09b2, - 0x09b6, 0x09b9, - 0x09bd, 0x09c4, - 0x09c7, 0x09c8, - 0x09cb, 0x09cc, - 0x09ce, 0x09ce, - 0x09d7, 0x09d7, - 0x09dc, 0x09dd, - 0x09df, 0x09e3, - 0x09e6, 0x09f1, - 0x0a01, 0x0a03, - 0x0a05, 0x0a0a, - 0x0a0f, 0x0a10, - 0x0a13, 0x0a28, - 0x0a2a, 0x0a30, - 0x0a32, 0x0a33, - 0x0a35, 0x0a36, - 0x0a38, 0x0a39, - 0x0a3e, 0x0a42, - 0x0a47, 0x0a48, - 0x0a4b, 0x0a4c, - 0x0a51, 0x0a51, - 0x0a59, 0x0a5c, - 0x0a5e, 0x0a5e, - 0x0a66, 0x0a75, - 0x0a81, 0x0a83, - 0x0a85, 0x0a8d, - 0x0a8f, 0x0a91, - 0x0a93, 0x0aa8, - 0x0aaa, 0x0ab0, - 0x0ab2, 0x0ab3, - 0x0ab5, 0x0ab9, - 0x0abd, 0x0ac5, - 0x0ac7, 0x0ac9, - 0x0acb, 0x0acc, - 0x0ad0, 0x0ad0, - 0x0ae0, 0x0ae3, - 0x0ae6, 0x0aef, - 0x0b01, 0x0b03, - 0x0b05, 0x0b0c, - 0x0b0f, 0x0b10, - 0x0b13, 0x0b28, - 0x0b2a, 0x0b30, - 0x0b32, 0x0b33, - 0x0b35, 0x0b39, - 0x0b3d, 0x0b44, - 0x0b47, 0x0b48, - 0x0b4b, 0x0b4c, - 0x0b56, 0x0b57, - 0x0b5c, 0x0b5d, - 0x0b5f, 0x0b63, - 0x0b66, 0x0b6f, - 0x0b71, 0x0b71, - 0x0b82, 0x0b83, - 0x0b85, 0x0b8a, - 0x0b8e, 0x0b90, - 0x0b92, 0x0b95, - 0x0b99, 0x0b9a, - 0x0b9c, 0x0b9c, - 0x0b9e, 0x0b9f, - 0x0ba3, 0x0ba4, - 0x0ba8, 0x0baa, - 0x0bae, 0x0bb9, - 0x0bbe, 0x0bc2, - 0x0bc6, 0x0bc8, - 0x0bca, 0x0bcc, - 0x0bd0, 0x0bd0, - 0x0bd7, 0x0bd7, - 0x0be6, 0x0bef, - 0x0c01, 0x0c03, - 0x0c05, 0x0c0c, - 0x0c0e, 0x0c10, - 0x0c12, 0x0c28, - 0x0c2a, 0x0c33, - 0x0c35, 0x0c39, - 0x0c3d, 0x0c44, - 0x0c46, 0x0c48, - 0x0c4a, 0x0c4c, - 0x0c55, 0x0c56, - 0x0c58, 0x0c59, - 0x0c60, 0x0c63, - 0x0c66, 0x0c6f, - 0x0c82, 0x0c83, - 0x0c85, 0x0c8c, - 0x0c8e, 0x0c90, - 0x0c92, 0x0ca8, - 0x0caa, 0x0cb3, - 0x0cb5, 0x0cb9, - 0x0cbd, 0x0cc4, - 0x0cc6, 0x0cc8, - 0x0cca, 0x0ccc, - 0x0cd5, 0x0cd6, - 0x0cde, 0x0cde, - 0x0ce0, 0x0ce3, - 0x0ce6, 0x0cef, - 0x0d02, 0x0d03, - 0x0d05, 0x0d0c, - 0x0d0e, 0x0d10, - 0x0d12, 0x0d28, - 0x0d2a, 0x0d39, - 0x0d3d, 0x0d44, - 0x0d46, 0x0d48, - 0x0d4a, 0x0d4c, - 0x0d57, 0x0d57, - 0x0d60, 0x0d63, - 0x0d66, 0x0d6f, - 0x0d7a, 0x0d7f, - 0x0d82, 0x0d83, - 0x0d85, 0x0d96, - 0x0d9a, 0x0db1, - 0x0db3, 0x0dbb, - 0x0dbd, 0x0dbd, - 0x0dc0, 0x0dc6, - 0x0dcf, 0x0dd4, - 0x0dd6, 0x0dd6, - 0x0dd8, 0x0ddf, - 0x0df2, 0x0df3, - 0x0e01, 0x0e3a, - 0x0e40, 0x0e46, - 0x0e4d, 0x0e4d, - 0x0e50, 0x0e59, - 0x0e81, 0x0e82, - 0x0e84, 0x0e84, - 0x0e87, 0x0e88, - 0x0e8a, 0x0e8a, - 0x0e8d, 0x0e8d, - 0x0e94, 0x0e97, - 0x0e99, 0x0e9f, - 0x0ea1, 0x0ea3, - 0x0ea5, 0x0ea5, - 0x0ea7, 0x0ea7, - 0x0eaa, 0x0eab, - 0x0ead, 0x0eb9, - 0x0ebb, 0x0ebd, - 0x0ec0, 0x0ec4, - 0x0ec6, 0x0ec6, - 0x0ecd, 0x0ecd, - 0x0ed0, 0x0ed9, - 0x0edc, 0x0edd, - 0x0f00, 0x0f00, - 0x0f20, 0x0f29, - 0x0f40, 0x0f47, - 0x0f49, 0x0f6c, - 0x0f71, 0x0f81, - 0x0f88, 0x0f8b, - 0x0f90, 0x0f97, - 0x0f99, 0x0fbc, - 0x1000, 0x1036, - 0x1038, 0x1038, - 0x103b, 0x1049, - 0x1050, 0x1062, - 0x1065, 0x1068, - 0x106e, 0x1086, - 0x108e, 0x108e, - 0x1090, 0x1099, - 0x109c, 0x109d, - 0x10a0, 0x10c5, - 0x10d0, 0x10fa, - 0x10fc, 0x10fc, - 0x1100, 0x1248, - 0x124a, 0x124d, - 0x1250, 0x1256, - 0x1258, 0x1258, - 0x125a, 0x125d, - 0x1260, 0x1288, - 0x128a, 0x128d, - 0x1290, 0x12b0, - 0x12b2, 0x12b5, - 0x12b8, 0x12be, - 0x12c0, 0x12c0, - 0x12c2, 0x12c5, - 0x12c8, 0x12d6, - 0x12d8, 0x1310, - 0x1312, 0x1315, - 0x1318, 0x135a, - 0x135f, 0x135f, - 0x1380, 0x138f, - 0x13a0, 0x13f4, - 0x1401, 0x166c, - 0x166f, 0x167f, - 0x1681, 0x169a, - 0x16a0, 0x16ea, - 0x16ee, 0x16f0, - 0x1700, 0x170c, - 0x170e, 0x1713, - 0x1720, 0x1733, - 0x1740, 0x1753, - 0x1760, 0x176c, - 0x176e, 0x1770, - 0x1772, 0x1773, - 0x1780, 0x17b3, - 0x17b6, 0x17c8, - 0x17d7, 0x17d7, - 0x17dc, 0x17dc, - 0x17e0, 0x17e9, - 0x1810, 0x1819, - 0x1820, 0x1877, - 0x1880, 0x18aa, - 0x18b0, 0x18f5, - 0x1900, 0x191c, - 0x1920, 0x192b, - 0x1930, 0x1938, - 0x1946, 0x196d, - 0x1970, 0x1974, - 0x1980, 0x19ab, - 0x19b0, 0x19c9, - 0x19d0, 0x19da, - 0x1a00, 0x1a1b, - 0x1a20, 0x1a5e, - 0x1a61, 0x1a74, - 0x1a80, 0x1a89, - 0x1a90, 0x1a99, - 0x1aa7, 0x1aa7, - 0x1b00, 0x1b33, - 0x1b35, 0x1b43, - 0x1b45, 0x1b4b, - 0x1b50, 0x1b59, - 0x1b80, 0x1ba9, - 0x1bae, 0x1bb9, - 0x1c00, 0x1c35, - 0x1c40, 0x1c49, - 0x1c4d, 0x1c7d, - 0x1ce9, 0x1cec, - 0x1cee, 0x1cf2, - 0x1d00, 0x1dbf, - 0x1e00, 0x1f15, - 0x1f18, 0x1f1d, - 0x1f20, 0x1f45, - 0x1f48, 0x1f4d, - 0x1f50, 0x1f57, - 0x1f59, 0x1f59, - 0x1f5b, 0x1f5b, - 0x1f5d, 0x1f5d, - 0x1f5f, 0x1f7d, - 0x1f80, 0x1fb4, - 0x1fb6, 0x1fbc, - 0x1fbe, 0x1fbe, - 0x1fc2, 0x1fc4, - 0x1fc6, 0x1fcc, - 0x1fd0, 0x1fd3, - 0x1fd6, 0x1fdb, - 0x1fe0, 0x1fec, - 0x1ff2, 0x1ff4, - 0x1ff6, 0x1ffc, - 0x2071, 0x2071, - 0x207f, 0x207f, - 0x2090, 0x2094, - 0x2102, 0x2102, - 0x2107, 0x2107, - 0x210a, 0x2113, - 0x2115, 0x2115, - 0x2119, 0x211d, - 0x2124, 0x2124, - 0x2126, 0x2126, - 0x2128, 0x2128, - 0x212a, 0x212d, - 0x212f, 0x2139, - 0x213c, 0x213f, - 0x2145, 0x2149, - 0x214e, 0x214e, - 0x2160, 0x2188, - 0x24b6, 0x24e9, - 0x2c00, 0x2c2e, - 0x2c30, 0x2c5e, - 0x2c60, 0x2ce4, - 0x2ceb, 0x2cee, - 0x2d00, 0x2d25, - 0x2d30, 0x2d65, - 0x2d6f, 0x2d6f, - 0x2d80, 0x2d96, - 0x2da0, 0x2da6, - 0x2da8, 0x2dae, - 0x2db0, 0x2db6, - 0x2db8, 0x2dbe, - 0x2dc0, 0x2dc6, - 0x2dc8, 0x2dce, - 0x2dd0, 0x2dd6, - 0x2dd8, 0x2dde, - 0x2de0, 0x2dff, - 0x2e2f, 0x2e2f, - 0x3005, 0x3007, - 0x3021, 0x3029, - 0x3031, 0x3035, - 0x3038, 0x303c, - 0x3041, 0x3096, - 0x309d, 0x309f, - 0x30a1, 0x30fa, - 0x30fc, 0x30ff, - 0x3105, 0x312d, - 0x3131, 0x318e, - 0x31a0, 0x31b7, - 0x31f0, 0x31ff, - 0x3400, 0x4db5, - 0x4e00, 0x9fcb, - 0xa000, 0xa48c, - 0xa4d0, 0xa4fd, - 0xa500, 0xa60c, - 0xa610, 0xa62b, - 0xa640, 0xa65f, - 0xa662, 0xa66e, - 0xa67f, 0xa697, - 0xa6a0, 0xa6ef, - 0xa717, 0xa71f, - 0xa722, 0xa788, - 0xa78b, 0xa78c, - 0xa7fb, 0xa801, - 0xa803, 0xa805, - 0xa807, 0xa80a, - 0xa80c, 0xa827, - 0xa840, 0xa873, - 0xa880, 0xa8c3, - 0xa8d0, 0xa8d9, - 0xa8f2, 0xa8f7, - 0xa8fb, 0xa8fb, - 0xa900, 0xa92a, - 0xa930, 0xa952, - 0xa960, 0xa97c, - 0xa980, 0xa9bf, - 0xa9cf, 0xa9d9, - 0xaa00, 0xaa36, - 0xaa40, 0xaa4d, - 0xaa50, 0xaa59, - 0xaa60, 0xaa76, - 0xaa7a, 0xaa7a, - 0xaa80, 0xaabe, - 0xaac0, 0xaac0, - 0xaac2, 0xaac2, - 0xaadb, 0xaadd, - 0xabc0, 0xabea, - 0xabf0, 0xabf9, - 0xac00, 0xd7a3, - 0xd7b0, 0xd7c6, - 0xd7cb, 0xd7fb, - 0xf900, 0xfa2d, - 0xfa30, 0xfa6d, - 0xfa70, 0xfad9, - 0xfb00, 0xfb06, - 0xfb13, 0xfb17, - 0xfb1d, 0xfb28, - 0xfb2a, 0xfb36, - 0xfb38, 0xfb3c, - 0xfb3e, 0xfb3e, - 0xfb40, 0xfb41, - 0xfb43, 0xfb44, - 0xfb46, 0xfbb1, - 0xfbd3, 0xfd3d, - 0xfd50, 0xfd8f, - 0xfd92, 0xfdc7, - 0xfdf0, 0xfdfb, - 0xfe70, 0xfe74, - 0xfe76, 0xfefc, - 0xff10, 0xff19, - 0xff21, 0xff3a, - 0xff41, 0xff5a, - 0xff66, 0xffbe, - 0xffc2, 0xffc7, - 0xffca, 0xffcf, - 0xffd2, 0xffd7, - 0xffda, 0xffdc, - 0x10000, 0x1000b, - 0x1000d, 0x10026, - 0x10028, 0x1003a, - 0x1003c, 0x1003d, - 0x1003f, 0x1004d, - 0x10050, 0x1005d, - 0x10080, 0x100fa, - 0x10140, 0x10174, - 0x10280, 0x1029c, - 0x102a0, 0x102d0, - 0x10300, 0x1031e, - 0x10330, 0x1034a, - 0x10380, 0x1039d, - 0x103a0, 0x103c3, - 0x103c8, 0x103cf, - 0x103d1, 0x103d5, - 0x10400, 0x1049d, - 0x104a0, 0x104a9, - 0x10800, 0x10805, - 0x10808, 0x10808, - 0x1080a, 0x10835, - 0x10837, 0x10838, - 0x1083c, 0x1083c, - 0x1083f, 0x10855, - 0x10900, 0x10915, - 0x10920, 0x10939, - 0x10a00, 0x10a03, - 0x10a05, 0x10a06, - 0x10a0c, 0x10a13, - 0x10a15, 0x10a17, - 0x10a19, 0x10a33, - 0x10a60, 0x10a7c, - 0x10b00, 0x10b35, - 0x10b40, 0x10b55, - 0x10b60, 0x10b72, - 0x10c00, 0x10c48, - 0x11082, 0x110b8, - 0x12000, 0x1236e, - 0x12400, 0x12462, - 0x13000, 0x1342e, - 0x1d400, 0x1d454, - 0x1d456, 0x1d49c, - 0x1d49e, 0x1d49f, - 0x1d4a2, 0x1d4a2, - 0x1d4a5, 0x1d4a6, - 0x1d4a9, 0x1d4ac, - 0x1d4ae, 0x1d4b9, - 0x1d4bb, 0x1d4bb, - 0x1d4bd, 0x1d4c3, - 0x1d4c5, 0x1d505, - 0x1d507, 0x1d50a, - 0x1d50d, 0x1d514, - 0x1d516, 0x1d51c, - 0x1d51e, 0x1d539, - 0x1d53b, 0x1d53e, - 0x1d540, 0x1d544, - 0x1d546, 0x1d546, - 0x1d54a, 0x1d550, - 0x1d552, 0x1d6a5, - 0x1d6a8, 0x1d6c0, - 0x1d6c2, 0x1d6da, - 0x1d6dc, 0x1d6fa, - 0x1d6fc, 0x1d714, - 0x1d716, 0x1d734, - 0x1d736, 0x1d74e, - 0x1d750, 0x1d76e, - 0x1d770, 0x1d788, - 0x1d78a, 0x1d7a8, - 0x1d7aa, 0x1d7c2, - 0x1d7c4, 0x1d7cb, - 0x1d7ce, 0x1d7ff, - 0x20000, 0x2a6d6, - 0x2a700, 0x2b734, - 0x2f800, 0x2fa1d, -}; /* CR_Alnum */ - -/* 'ASCII': [[:ASCII:]] */ -static const OnigCodePoint CR_ASCII[] = { - 1, - 0x0000, 0x007f, -}; /* CR_ASCII */ - -static const OnigCodePoint* const CodeRanges[] = { - CR_NEWLINE, - CR_Alpha, - CR_Blank, - CR_Cntrl, - CR_Digit, - CR_Graph, - CR_Lower, - CR_Print, - CR_Punct, - CR_Space, - CR_Upper, - CR_XDigit, - CR_Word, - CR_Alnum, - CR_ASCII, -#ifdef USE_UNICODE_PROPERTIES -#ifdef USE_UNICODE_PROPERTIES - CR_Any, - CR_Assigned, - CR_C, - CR_Cc, - CR_Cf, - CR_Cn, - CR_Co, - CR_Cs, - CR_L, - CR_Ll, - CR_Lm, - CR_Lo, - CR_Lt, - CR_Lu, - CR_M, - CR_Mc, - CR_Me, - CR_Mn, - CR_N, - CR_Nd, - CR_Nl, - CR_No, - CR_P, - CR_Pc, - CR_Pd, - CR_Pe, - CR_Pf, - CR_Pi, - CR_Po, - CR_Ps, - CR_S, - CR_Sc, - CR_Sk, - CR_Sm, - CR_So, - CR_Z, - CR_Zl, - CR_Zp, - CR_Zs, - CR_Math, - CR_Alphabetic, - CR_Lowercase, - CR_Uppercase, - CR_Cased, - CR_Case_Ignorable, - CR_Changes_When_Lowercased, - CR_Changes_When_Uppercased, - CR_Changes_When_Titlecased, - CR_Changes_When_Casefolded, - CR_Changes_When_Casemapped, - CR_ID_Start, - CR_ID_Continue, - CR_XID_Start, - CR_XID_Continue, - CR_Default_Ignorable_Code_Point, - CR_Grapheme_Extend, - CR_Grapheme_Base, - CR_Grapheme_Link, - CR_Common, - CR_Latin, - CR_Greek, - CR_Cyrillic, - CR_Armenian, - CR_Hebrew, - CR_Arabic, - CR_Syriac, - CR_Thaana, - CR_Devanagari, - CR_Bengali, - CR_Gurmukhi, - CR_Gujarati, - CR_Oriya, - CR_Tamil, - CR_Telugu, - CR_Kannada, - CR_Malayalam, - CR_Sinhala, - CR_Thai, - CR_Lao, - CR_Tibetan, - CR_Myanmar, - CR_Georgian, - CR_Hangul, - CR_Ethiopic, - CR_Cherokee, - CR_Canadian_Aboriginal, - CR_Ogham, - CR_Runic, - CR_Khmer, - CR_Mongolian, - CR_Hiragana, - CR_Katakana, - CR_Bopomofo, - CR_Han, - CR_Yi, - CR_Old_Italic, - CR_Gothic, - CR_Deseret, - CR_Inherited, - CR_Tagalog, - CR_Hanunoo, - CR_Buhid, - CR_Tagbanwa, - CR_Limbu, - CR_Tai_Le, - CR_Linear_B, - CR_Ugaritic, - CR_Shavian, - CR_Osmanya, - CR_Cypriot, - CR_Braille, - CR_Buginese, - CR_Coptic, - CR_New_Tai_Lue, - CR_Glagolitic, - CR_Tifinagh, - CR_Syloti_Nagri, - CR_Old_Persian, - CR_Kharoshthi, - CR_Balinese, - CR_Cuneiform, - CR_Phoenician, - CR_Phags_Pa, - CR_Nko, - CR_Sundanese, - CR_Lepcha, - CR_Ol_Chiki, - CR_Vai, - CR_Saurashtra, - CR_Kayah_Li, - CR_Rejang, - CR_Lycian, - CR_Carian, - CR_Lydian, - CR_Cham, - CR_Tai_Tham, - CR_Tai_Viet, - CR_Avestan, - CR_Egyptian_Hieroglyphs, - CR_Samaritan, - CR_Lisu, - CR_Bamum, - CR_Javanese, - CR_Meetei_Mayek, - CR_Imperial_Aramaic, - CR_Old_South_Arabian, - CR_Inscriptional_Parthian, - CR_Inscriptional_Pahlavi, - CR_Old_Turkic, - CR_Kaithi, - CR_White_Space, - CR_Bidi_Control, - CR_Join_Control, - CR_Dash, - CR_Hyphen, - CR_Quotation_Mark, - CR_Terminal_Punctuation, - CR_Other_Math, - CR_Hex_Digit, - CR_ASCII_Hex_Digit, - CR_Other_Alphabetic, - CR_Ideographic, - CR_Diacritic, - CR_Extender, - CR_Other_Lowercase, - CR_Other_Uppercase, - CR_Noncharacter_Code_Point, - CR_Other_Grapheme_Extend, - CR_IDS_Binary_Operator, - CR_IDS_Trinary_Operator, - CR_Radical, - CR_Unified_Ideograph, - CR_Other_Default_Ignorable_Code_Point, - CR_Deprecated, - CR_Soft_Dotted, - CR_Logical_Order_Exception, - CR_Other_ID_Start, - CR_Other_ID_Continue, - CR_STerm, - CR_Variation_Selector, - CR_Pattern_White_Space, - CR_Pattern_Syntax, -#endif /* USE_UNICODE_PROPERTIES */ -#endif /* USE_UNICODE_PROPERTIES */ -}; -struct uniname2ctype_struct { - int name, ctype; -}; - -static const struct uniname2ctype_struct *uniname2ctype_p(const char *, unsigned int); - -#ifndef USE_UNICODE_PROPERTIES -#define TOTAL_KEYWORDS 15 -#define MIN_WORD_LENGTH 4 -#define MAX_WORD_LENGTH 7 -#define MIN_HASH_VALUE 7 -#define MAX_HASH_VALUE 21 -/* maximum key range = 15, duplicates = 0 */ -#else /* USE_UNICODE_PROPERTIES */ -#define TOTAL_KEYWORDS 367 -#define MIN_WORD_LENGTH 1 -#define MAX_WORD_LENGTH 30 -#define MIN_HASH_VALUE 3 -#define MAX_HASH_VALUE 1751 -/* maximum key range = 1749, duplicates = 0 */ -#endif /* USE_UNICODE_PROPERTIES */ - -#ifdef __GNUC__ -__inline -#else -#ifdef __cplusplus -inline -#endif -#endif -static unsigned int -uniname2ctype_hash (register const char *str, register unsigned int len) -{ -#ifndef USE_UNICODE_PROPERTIES - static const unsigned char asso_values[] = -#else /* USE_UNICODE_PROPERTIES */ - static const unsigned short asso_values[] = -#endif /* USE_UNICODE_PROPERTIES */ - { -#ifndef USE_UNICODE_PROPERTIES - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 3, 13, 6, - 4, 22, 22, 11, 22, 1, 22, 22, 10, 22, - 2, 22, 1, 22, 10, 8, 4, 7, 22, 3, - 4, 22, 22, 22, 22, 22, 22, 22 -#else /* USE_UNICODE_PROPERTIES */ - 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, - 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, - 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, - 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, - 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, - 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, - 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, - 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, - 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, - 1752, 1752, 1752, 1752, 1752, 1752, 1752, 7, 419, 1, - 128, 38, 100, 186, 46, 11, 226, 463, 4, 317, - 6, 2, 265, 5, 18, 112, 30, 289, 164, 384, - 368, 579, 10, 1752, 1752, 1752, 1752, 1752 -#endif /* USE_UNICODE_PROPERTIES */ - }; -#ifndef USE_UNICODE_PROPERTIES - return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]]; -#else /* USE_UNICODE_PROPERTIES */ - register int hval = len; - - switch (hval) - { - default: - hval += asso_values[(unsigned char)str[15]]; - /*FALLTHROUGH*/ - case 15: - case 14: - case 13: - case 12: - hval += asso_values[(unsigned char)str[11]]; - /*FALLTHROUGH*/ - case 11: - case 10: - case 9: - case 8: - case 7: - case 6: - hval += asso_values[(unsigned char)str[5]]; - /*FALLTHROUGH*/ - case 5: - case 4: - case 3: - hval += asso_values[(unsigned char)str[2]]; - /*FALLTHROUGH*/ - case 2: - hval += asso_values[(unsigned char)str[1]]; - /*FALLTHROUGH*/ - case 1: - hval += asso_values[(unsigned char)str[0]]; - break; - } - return hval + asso_values[(unsigned char)str[len - 1]]; -#endif /* USE_UNICODE_PROPERTIES */ -} - -struct uniname2ctype_pool_t - { -#ifndef USE_UNICODE_PROPERTIES - char uniname2ctype_pool_str7[sizeof("print")]; - char uniname2ctype_pool_str8[sizeof("punct")]; - char uniname2ctype_pool_str9[sizeof("alpha")]; - char uniname2ctype_pool_str10[sizeof("alnum")]; - char uniname2ctype_pool_str11[sizeof("xdigit")]; - char uniname2ctype_pool_str12[sizeof("newline")]; - char uniname2ctype_pool_str13[sizeof("upper")]; - char uniname2ctype_pool_str14[sizeof("ascii")]; - char uniname2ctype_pool_str15[sizeof("cntrl")]; - char uniname2ctype_pool_str16[sizeof("space")]; - char uniname2ctype_pool_str17[sizeof("word")]; - char uniname2ctype_pool_str18[sizeof("lower")]; - char uniname2ctype_pool_str19[sizeof("graph")]; - char uniname2ctype_pool_str20[sizeof("digit")]; - char uniname2ctype_pool_str21[sizeof("blank")]; -#else /* USE_UNICODE_PROPERTIES */ - char uniname2ctype_pool_str3[sizeof("c")]; - char uniname2ctype_pool_str5[sizeof("cc")]; - char uniname2ctype_pool_str7[sizeof("co")]; - char uniname2ctype_pool_str9[sizeof("l")]; - char uniname2ctype_pool_str10[sizeof("lo")]; - char uniname2ctype_pool_str12[sizeof("no")]; - char uniname2ctype_pool_str13[sizeof("n")]; - char uniname2ctype_pool_str14[sizeof("ll")]; - char uniname2ctype_pool_str15[sizeof("cn")]; - char uniname2ctype_pool_str16[sizeof("nl")]; - char uniname2ctype_pool_str18[sizeof("lao")]; - char uniname2ctype_pool_str19[sizeof("laoo")]; - char uniname2ctype_pool_str20[sizeof("zl")]; - char uniname2ctype_pool_str21[sizeof("z")]; - char uniname2ctype_pool_str22[sizeof("control")]; - char uniname2ctype_pool_str24[sizeof("qaac")]; - char uniname2ctype_pool_str25[sizeof("ci")]; - char uniname2ctype_pool_str28[sizeof("lana")]; - char uniname2ctype_pool_str33[sizeof("oalpha")]; - char uniname2ctype_pool_str34[sizeof("qaai")]; - char uniname2ctype_pool_str40[sizeof("arabic")]; - char uniname2ctype_pool_str41[sizeof("cari")]; - char uniname2ctype_pool_str43[sizeof("oriya")]; - char uniname2ctype_pool_str44[sizeof("carian")]; - char uniname2ctype_pool_str46[sizeof("cntrl")]; - char uniname2ctype_pool_str49[sizeof("connectorpunctuation")]; - char uniname2ctype_pool_str50[sizeof("olower")]; - char uniname2ctype_pool_str51[sizeof("latn")]; - char uniname2ctype_pool_str52[sizeof("latin")]; - char uniname2ctype_pool_str56[sizeof("ital")]; - char uniname2ctype_pool_str65[sizeof("hano")]; - char uniname2ctype_pool_str66[sizeof("lt")]; - char uniname2ctype_pool_str68[sizeof("han")]; - char uniname2ctype_pool_str70[sizeof("hanunoo")]; - char uniname2ctype_pool_str71[sizeof("canadianaboriginal")]; - char uniname2ctype_pool_str73[sizeof("hangul")]; - char uniname2ctype_pool_str74[sizeof("hani")]; - char uniname2ctype_pool_str76[sizeof("nchar")]; - char uniname2ctype_pool_str77[sizeof("zinh")]; - char uniname2ctype_pool_str83[sizeof("tale")]; - char uniname2ctype_pool_str85[sizeof("loe")]; - char uniname2ctype_pool_str86[sizeof("hira")]; - char uniname2ctype_pool_str91[sizeof("taile")]; - char uniname2ctype_pool_str92[sizeof("lineseparator")]; - char uniname2ctype_pool_str94[sizeof("thaa")]; - char uniname2ctype_pool_str97[sizeof("hiragana")]; - char uniname2ctype_pool_str98[sizeof("thai")]; - char uniname2ctype_pool_str100[sizeof("initialpunctuation")]; - char uniname2ctype_pool_str101[sizeof("other")]; - char uniname2ctype_pool_str103[sizeof("thaana")]; - char uniname2ctype_pool_str107[sizeof("cher")]; - char uniname2ctype_pool_str111[sizeof("otherletter")]; - char uniname2ctype_pool_str113[sizeof("othernumber")]; - char uniname2ctype_pool_str114[sizeof("letter")]; - char uniname2ctype_pool_str116[sizeof("sc")]; - char uniname2ctype_pool_str118[sizeof("so")]; - char uniname2ctype_pool_str123[sizeof("taiviet")]; - char uniname2ctype_pool_str128[sizeof("noncharactercodepoint")]; - char uniname2ctype_pool_str129[sizeof("ethi")]; - char uniname2ctype_pool_str130[sizeof("cans")]; - char uniname2ctype_pool_str135[sizeof("titlecaseletter")]; - char uniname2ctype_pool_str136[sizeof("ascii")]; - char uniname2ctype_pool_str138[sizeof("letternumber")]; - char uniname2ctype_pool_str139[sizeof("otheralphabetic")]; - char uniname2ctype_pool_str141[sizeof("otherlowercase")]; - char uniname2ctype_pool_str144[sizeof("idc")]; - char uniname2ctype_pool_str146[sizeof("oidc")]; - char uniname2ctype_pool_str147[sizeof("sinhala")]; - char uniname2ctype_pool_str148[sizeof("terminalpunctuation")]; - char uniname2ctype_pool_str151[sizeof("olditalic")]; - char uniname2ctype_pool_str152[sizeof("di")]; - char uniname2ctype_pool_str153[sizeof("otheridcontinue")]; - char uniname2ctype_pool_str155[sizeof("odi")]; - char uniname2ctype_pool_str156[sizeof("dia")]; - char uniname2ctype_pool_str161[sizeof("otheridstart")]; - char uniname2ctype_pool_str162[sizeof("oldturkic")]; - char uniname2ctype_pool_str167[sizeof("diacritic")]; - char uniname2ctype_pool_str168[sizeof("oldpersian")]; - char uniname2ctype_pool_str171[sizeof("radical")]; - char uniname2ctype_pool_str179[sizeof("sinh")]; - char uniname2ctype_pool_str183[sizeof("ideo")]; - char uniname2ctype_pool_str185[sizeof("shavian")]; - char uniname2ctype_pool_str186[sizeof("format")]; - char uniname2ctype_pool_str192[sizeof("inscriptionalparthian")]; - char uniname2ctype_pool_str196[sizeof("vai")]; - char uniname2ctype_pool_str197[sizeof("vaii")]; - char uniname2ctype_pool_str202[sizeof("tifinagh")]; - char uniname2ctype_pool_str203[sizeof("cf")]; - char uniname2ctype_pool_str205[sizeof("othersymbol")]; - char uniname2ctype_pool_str207[sizeof("ideographic")]; - char uniname2ctype_pool_str211[sizeof("inherited")]; - char uniname2ctype_pool_str212[sizeof("glagolitic")]; - char uniname2ctype_pool_str218[sizeof("idcontinue")]; - char uniname2ctype_pool_str220[sizeof("asciihexdigit")]; - char uniname2ctype_pool_str224[sizeof("inscriptionalpahlavi")]; - char uniname2ctype_pool_str225[sizeof("s")]; - char uniname2ctype_pool_str226[sizeof("gothic")]; - char uniname2ctype_pool_str227[sizeof("cs")]; - char uniname2ctype_pool_str229[sizeof("avestan")]; - char uniname2ctype_pool_str235[sizeof("tavt")]; - char uniname2ctype_pool_str236[sizeof("zs")]; - char uniname2ctype_pool_str243[sizeof("decimalnumber")]; - char uniname2ctype_pool_str244[sizeof("tagbanwa")]; - char uniname2ctype_pool_str245[sizeof("joinc")]; - char uniname2ctype_pool_str248[sizeof("geor")]; - char uniname2ctype_pool_str249[sizeof("hang")]; - char uniname2ctype_pool_str251[sizeof("georgian")]; - char uniname2ctype_pool_str253[sizeof("cased")]; - char uniname2ctype_pool_str256[sizeof("joincontrol")]; - char uniname2ctype_pool_str257[sizeof("oids")]; - char uniname2ctype_pool_str260[sizeof("variationselector")]; - char uniname2ctype_pool_str262[sizeof("graph")]; - char uniname2ctype_pool_str263[sizeof("changeswhenlowercased")]; - char uniname2ctype_pool_str264[sizeof("nd")]; - char uniname2ctype_pool_str268[sizeof("goth")]; - char uniname2ctype_pool_str269[sizeof("pc")]; - char uniname2ctype_pool_str271[sizeof("po")]; - char uniname2ctype_pool_str272[sizeof("ogrext")]; - char uniname2ctype_pool_str276[sizeof("coptic")]; - char uniname2ctype_pool_str277[sizeof("grext")]; - char uniname2ctype_pool_str282[sizeof("logicalorderexception")]; - char uniname2ctype_pool_str285[sizeof("idst")]; - char uniname2ctype_pool_str288[sizeof("alpha")]; - char uniname2ctype_pool_str289[sizeof("pi")]; - char uniname2ctype_pool_str292[sizeof("dsrt")]; - char uniname2ctype_pool_str297[sizeof("dash")]; - char uniname2ctype_pool_str298[sizeof("otherdefaultignorablecodepoint")]; - char uniname2ctype_pool_str302[sizeof("copt")]; - char uniname2ctype_pool_str306[sizeof("idstart")]; - char uniname2ctype_pool_str307[sizeof("closepunctuation")]; - char uniname2ctype_pool_str309[sizeof("changeswhentitlecased")]; - char uniname2ctype_pool_str312[sizeof("lepc")]; - char uniname2ctype_pool_str317[sizeof("avst")]; - char uniname2ctype_pool_str318[sizeof("cprt")]; - char uniname2ctype_pool_str319[sizeof("runic")]; - char uniname2ctype_pool_str320[sizeof("patsyn")]; - char uniname2ctype_pool_str321[sizeof("mc")]; - char uniname2ctype_pool_str326[sizeof("tfng")]; - char uniname2ctype_pool_str327[sizeof("lepcha")]; - char uniname2ctype_pool_str328[sizeof("prti")]; - char uniname2ctype_pool_str329[sizeof("print")]; - char uniname2ctype_pool_str330[sizeof("phli")]; - char uniname2ctype_pool_str331[sizeof("mn")]; - char uniname2ctype_pool_str332[sizeof("idsbinaryoperator")]; - char uniname2ctype_pool_str334[sizeof("talu")]; - char uniname2ctype_pool_str335[sizeof("runr")]; - char uniname2ctype_pool_str337[sizeof("graphemebase")]; - char uniname2ctype_pool_str338[sizeof("common")]; - char uniname2ctype_pool_str339[sizeof("alnum")]; - char uniname2ctype_pool_str340[sizeof("phoenician")]; - char uniname2ctype_pool_str341[sizeof("deva")]; - char uniname2ctype_pool_str342[sizeof("changeswhencasefolded")]; - char uniname2ctype_pool_str343[sizeof("pe")]; - char uniname2ctype_pool_str344[sizeof("mongolian")]; - char uniname2ctype_pool_str352[sizeof("armn")]; - char uniname2ctype_pool_str353[sizeof("deseret")]; - char uniname2ctype_pool_str354[sizeof("softdotted")]; - char uniname2ctype_pool_str357[sizeof("armi")]; - char uniname2ctype_pool_str358[sizeof("devanagari")]; - char uniname2ctype_pool_str360[sizeof("digit")]; - char uniname2ctype_pool_str361[sizeof("caseignorable")]; - char uniname2ctype_pool_str362[sizeof("taml")]; - char uniname2ctype_pool_str363[sizeof("tamil")]; - char uniname2ctype_pool_str365[sizeof("telu")]; - char uniname2ctype_pool_str366[sizeof("ids")]; - char uniname2ctype_pool_str367[sizeof("armenian")]; - char uniname2ctype_pool_str370[sizeof("sd")]; - char uniname2ctype_pool_str372[sizeof("privateuse")]; - char uniname2ctype_pool_str373[sizeof("assigned")]; - char uniname2ctype_pool_str375[sizeof("cham")]; - char uniname2ctype_pool_str377[sizeof("omath")]; - char uniname2ctype_pool_str378[sizeof("otherpunctuation")]; - char uniname2ctype_pool_str379[sizeof("taitham")]; - char uniname2ctype_pool_str381[sizeof("defaultignorablecodepoint")]; - char uniname2ctype_pool_str387[sizeof("glag")]; - char uniname2ctype_pool_str388[sizeof("ethiopic")]; - char uniname2ctype_pool_str390[sizeof("vs")]; - char uniname2ctype_pool_str395[sizeof("me")]; - char uniname2ctype_pool_str396[sizeof("cwl")]; - char uniname2ctype_pool_str400[sizeof("mtei")]; - char uniname2ctype_pool_str404[sizeof("math")]; - char uniname2ctype_pool_str407[sizeof("term")]; - char uniname2ctype_pool_str408[sizeof("java")]; - char uniname2ctype_pool_str410[sizeof("tglg")]; - char uniname2ctype_pool_str413[sizeof("lower")]; - char uniname2ctype_pool_str414[sizeof("patternwhitespace")]; - char uniname2ctype_pool_str417[sizeof("finalpunctuation")]; - char uniname2ctype_pool_str418[sizeof("tagalog")]; - char uniname2ctype_pool_str419[sizeof("patws")]; - char uniname2ctype_pool_str420[sizeof("lisu")]; - char uniname2ctype_pool_str426[sizeof("otheruppercase")]; - char uniname2ctype_pool_str427[sizeof("space")]; - char uniname2ctype_pool_str429[sizeof("graphemeextend")]; - char uniname2ctype_pool_str430[sizeof("saur")]; - char uniname2ctype_pool_str435[sizeof("uideo")]; - char uniname2ctype_pool_str438[sizeof("lowercase")]; - char uniname2ctype_pool_str440[sizeof("rjng")]; - char uniname2ctype_pool_str442[sizeof("osma")]; - char uniname2ctype_pool_str444[sizeof("linb")]; - char uniname2ctype_pool_str445[sizeof("bali")]; - char uniname2ctype_pool_str448[sizeof("cwt")]; - char uniname2ctype_pool_str449[sizeof("separator")]; - char uniname2ctype_pool_str450[sizeof("othermath")]; - char uniname2ctype_pool_str451[sizeof("unassigned")]; - char uniname2ctype_pool_str454[sizeof("lowercaseletter")]; - char uniname2ctype_pool_str455[sizeof("arab")]; - char uniname2ctype_pool_str458[sizeof("samr")]; - char uniname2ctype_pool_str459[sizeof("brai")]; - char uniname2ctype_pool_str460[sizeof("sundanese")]; - char uniname2ctype_pool_str462[sizeof("samaritan")]; - char uniname2ctype_pool_str463[sizeof("ahex")]; - char uniname2ctype_pool_str465[sizeof("linearb")]; - char uniname2ctype_pool_str467[sizeof("pf")]; - char uniname2ctype_pool_str469[sizeof("ext")]; - char uniname2ctype_pool_str474[sizeof("olck")]; - char uniname2ctype_pool_str476[sizeof("nko")]; - char uniname2ctype_pool_str477[sizeof("nkoo")]; - char uniname2ctype_pool_str479[sizeof("newline")]; - char uniname2ctype_pool_str480[sizeof("tibetan")]; - char uniname2ctype_pool_str481[sizeof("javanese")]; - char uniname2ctype_pool_str485[sizeof("bengali")]; - char uniname2ctype_pool_str486[sizeof("newtailue")]; - char uniname2ctype_pool_str487[sizeof("kana")]; - char uniname2ctype_pool_str488[sizeof("olchiki")]; - char uniname2ctype_pool_str489[sizeof("kali")]; - char uniname2ctype_pool_str490[sizeof("cwcf")]; - char uniname2ctype_pool_str491[sizeof("ps")]; - char uniname2ctype_pool_str493[sizeof("braille")]; - char uniname2ctype_pool_str494[sizeof("tibt")]; - char uniname2ctype_pool_str502[sizeof("sterm")]; - char uniname2ctype_pool_str504[sizeof("ugar")]; - char uniname2ctype_pool_str505[sizeof("nonspacingmark")]; - char uniname2ctype_pool_str508[sizeof("phag")]; - char uniname2ctype_pool_str509[sizeof("kaithi")]; - char uniname2ctype_pool_str512[sizeof("xidc")]; - char uniname2ctype_pool_str514[sizeof("balinese")]; - char uniname2ctype_pool_str515[sizeof("mong")]; - char uniname2ctype_pool_str516[sizeof("ogam")]; - char uniname2ctype_pool_str520[sizeof("modifierletter")]; - char uniname2ctype_pool_str521[sizeof("ugaritic")]; - char uniname2ctype_pool_str522[sizeof("katakana")]; - char uniname2ctype_pool_str523[sizeof("pd")]; - char uniname2ctype_pool_str525[sizeof("hebr")]; - char uniname2ctype_pool_str531[sizeof("p")]; - char uniname2ctype_pool_str533[sizeof("orkh")]; - char uniname2ctype_pool_str536[sizeof("word")]; - char uniname2ctype_pool_str537[sizeof("saurashtra")]; - char uniname2ctype_pool_str538[sizeof("khar")]; - char uniname2ctype_pool_str539[sizeof("sund")]; - char uniname2ctype_pool_str542[sizeof("zp")]; - char uniname2ctype_pool_str548[sizeof("changeswhenuppercased")]; - char uniname2ctype_pool_str552[sizeof("xidstart")]; - char uniname2ctype_pool_str553[sizeof("shaw")]; - char uniname2ctype_pool_str554[sizeof("kthi")]; - char uniname2ctype_pool_str556[sizeof("ogham")]; - char uniname2ctype_pool_str558[sizeof("spaceseparator")]; - char uniname2ctype_pool_str559[sizeof("changeswhencasemapped")]; - char uniname2ctype_pool_str560[sizeof("sarb")]; - char uniname2ctype_pool_str562[sizeof("xidcontinue")]; - char uniname2ctype_pool_str564[sizeof("bidic")]; - char uniname2ctype_pool_str570[sizeof("deprecated")]; - char uniname2ctype_pool_str573[sizeof("xdigit")]; - char uniname2ctype_pool_str575[sizeof("bidicontrol")]; - char uniname2ctype_pool_str584[sizeof("lu")]; - char uniname2ctype_pool_str587[sizeof("dashpunctuation")]; - char uniname2ctype_pool_str590[sizeof("extender")]; - char uniname2ctype_pool_str593[sizeof("idstrinaryoperator")]; - char uniname2ctype_pool_str594[sizeof("cherokee")]; - char uniname2ctype_pool_str595[sizeof("punct")]; - char uniname2ctype_pool_str597[sizeof("phagspa")]; - char uniname2ctype_pool_str598[sizeof("oupper")]; - char uniname2ctype_pool_str599[sizeof("lyci")]; - char uniname2ctype_pool_str601[sizeof("whitespace")]; - char uniname2ctype_pool_str602[sizeof("lycian")]; - char uniname2ctype_pool_str603[sizeof("yi")]; - char uniname2ctype_pool_str606[sizeof("cyrl")]; - char uniname2ctype_pool_str608[sizeof("knda")]; - char uniname2ctype_pool_str610[sizeof("orya")]; - char uniname2ctype_pool_str611[sizeof("cyrillic")]; - char uniname2ctype_pool_str616[sizeof("yiii")]; - char uniname2ctype_pool_str618[sizeof("kannada")]; - char uniname2ctype_pool_str623[sizeof("xids")]; - char uniname2ctype_pool_str626[sizeof("limbu")]; - char uniname2ctype_pool_str635[sizeof("m")]; - char uniname2ctype_pool_str638[sizeof("unifiedideograph")]; - char uniname2ctype_pool_str639[sizeof("paragraphseparator")]; - char uniname2ctype_pool_str640[sizeof("lm")]; - char uniname2ctype_pool_str645[sizeof("openpunctuation")]; - char uniname2ctype_pool_str646[sizeof("tagb")]; - char uniname2ctype_pool_str649[sizeof("kharoshthi")]; - char uniname2ctype_pool_str651[sizeof("enclosingmark")]; - char uniname2ctype_pool_str652[sizeof("surrogate")]; - char uniname2ctype_pool_str653[sizeof("beng")]; - char uniname2ctype_pool_str654[sizeof("number")]; - char uniname2ctype_pool_str656[sizeof("telugu")]; - char uniname2ctype_pool_str660[sizeof("rejang")]; - char uniname2ctype_pool_str661[sizeof("malayalam")]; - char uniname2ctype_pool_str674[sizeof("idsb")]; - char uniname2ctype_pool_str676[sizeof("hexdigit")]; - char uniname2ctype_pool_str677[sizeof("xpeo")]; - char uniname2ctype_pool_str689[sizeof("phnx")]; - char uniname2ctype_pool_str692[sizeof("bopo")]; - char uniname2ctype_pool_str698[sizeof("bopomofo")]; - char uniname2ctype_pool_str699[sizeof("dep")]; - char uniname2ctype_pool_str701[sizeof("sylo")]; - char uniname2ctype_pool_str705[sizeof("grbase")]; - char uniname2ctype_pool_str706[sizeof("alphabetic")]; - char uniname2ctype_pool_str707[sizeof("cwcm")]; - char uniname2ctype_pool_str708[sizeof("patternsyntax")]; - char uniname2ctype_pool_str709[sizeof("grek")]; - char uniname2ctype_pool_str710[sizeof("greek")]; - char uniname2ctype_pool_str714[sizeof("syrc")]; - char uniname2ctype_pool_str717[sizeof("syriac")]; - char uniname2ctype_pool_str722[sizeof("cuneiform")]; - char uniname2ctype_pool_str723[sizeof("gujr")]; - char uniname2ctype_pool_str726[sizeof("lydi")]; - char uniname2ctype_pool_str727[sizeof("gujarati")]; - char uniname2ctype_pool_str728[sizeof("sylotinagri")]; - char uniname2ctype_pool_str729[sizeof("lydian")]; - char uniname2ctype_pool_str748[sizeof("sm")]; - char uniname2ctype_pool_str751[sizeof("currencysymbol")]; - char uniname2ctype_pool_str755[sizeof("limb")]; - char uniname2ctype_pool_str758[sizeof("othergraphemeextend")]; - char uniname2ctype_pool_str786[sizeof("guru")]; - char uniname2ctype_pool_str797[sizeof("qmark")]; - char uniname2ctype_pool_str809[sizeof("mark")]; - char uniname2ctype_pool_str820[sizeof("quotationmark")]; - char uniname2ctype_pool_str823[sizeof("hex")]; - char uniname2ctype_pool_str842[sizeof("upper")]; - char uniname2ctype_pool_str843[sizeof("wspace")]; - char uniname2ctype_pool_str848[sizeof("khmr")]; - char uniname2ctype_pool_str849[sizeof("khmer")]; - char uniname2ctype_pool_str863[sizeof("oldsoutharabian")]; - char uniname2ctype_pool_str864[sizeof("spacingmark")]; - char uniname2ctype_pool_str866[sizeof("punctuation")]; - char uniname2ctype_pool_str867[sizeof("uppercase")]; - char uniname2ctype_pool_str878[sizeof("meeteimayek")]; - char uniname2ctype_pool_str883[sizeof("uppercaseletter")]; - char uniname2ctype_pool_str884[sizeof("cypriot")]; - char uniname2ctype_pool_str886[sizeof("buhd")]; - char uniname2ctype_pool_str887[sizeof("buhid")]; - char uniname2ctype_pool_str895[sizeof("modifiersymbol")]; - char uniname2ctype_pool_str898[sizeof("blank")]; - char uniname2ctype_pool_str908[sizeof("hyphen")]; - char uniname2ctype_pool_str909[sizeof("bugi")]; - char uniname2ctype_pool_str935[sizeof("myanmar")]; - char uniname2ctype_pool_str937[sizeof("imperialaramaic")]; - char uniname2ctype_pool_str947[sizeof("mathsymbol")]; - char uniname2ctype_pool_str966[sizeof("cwu")]; - char uniname2ctype_pool_str975[sizeof("gurmukhi")]; - char uniname2ctype_pool_str978[sizeof("buginese")]; - char uniname2ctype_pool_str1022[sizeof("symbol")]; - char uniname2ctype_pool_str1024[sizeof("osmanya")]; - char uniname2ctype_pool_str1036[sizeof("bamu")]; - char uniname2ctype_pool_str1040[sizeof("sk")]; - char uniname2ctype_pool_str1065[sizeof("bamum")]; - char uniname2ctype_pool_str1071[sizeof("kayahli")]; - char uniname2ctype_pool_str1072[sizeof("egyp")]; - char uniname2ctype_pool_str1140[sizeof("grlink")]; - char uniname2ctype_pool_str1141[sizeof("xsux")]; - char uniname2ctype_pool_str1174[sizeof("any")]; - char uniname2ctype_pool_str1187[sizeof("graphemelink")]; - char uniname2ctype_pool_str1221[sizeof("mlym")]; - char uniname2ctype_pool_str1235[sizeof("mymr")]; - char uniname2ctype_pool_str1277[sizeof("hebrew")]; - char uniname2ctype_pool_str1542[sizeof("egyptianhieroglyphs")]; - char uniname2ctype_pool_str1751[sizeof("zyyy")]; -#endif /* USE_UNICODE_PROPERTIES */ - }; -static const struct uniname2ctype_pool_t uniname2ctype_pool_contents = - { -#ifndef USE_UNICODE_PROPERTIES - "print", - "punct", -#else /* USE_UNICODE_PROPERTIES */ - "c", - "cc", - "co", - "l", - "lo", - "no", - "n", - "ll", - "cn", - "nl", - "lao", - "laoo", - "zl", - "z", - "control", - "qaac", - "ci", - "lana", - "oalpha", - "qaai", - "arabic", - "cari", - "oriya", - "carian", - "cntrl", - "connectorpunctuation", - "olower", - "latn", - "latin", - "ital", - "hano", - "lt", - "han", - "hanunoo", - "canadianaboriginal", - "hangul", - "hani", - "nchar", - "zinh", - "tale", - "loe", - "hira", - "taile", - "lineseparator", - "thaa", - "hiragana", - "thai", - "initialpunctuation", - "other", - "thaana", - "cher", - "otherletter", - "othernumber", - "letter", - "sc", - "so", - "taiviet", - "noncharactercodepoint", - "ethi", - "cans", - "titlecaseletter", - "ascii", - "letternumber", - "otheralphabetic", - "otherlowercase", - "idc", - "oidc", - "sinhala", - "terminalpunctuation", - "olditalic", - "di", - "otheridcontinue", - "odi", - "dia", - "otheridstart", - "oldturkic", - "diacritic", - "oldpersian", - "radical", - "sinh", - "ideo", - "shavian", - "format", - "inscriptionalparthian", - "vai", - "vaii", - "tifinagh", - "cf", - "othersymbol", - "ideographic", - "inherited", - "glagolitic", - "idcontinue", - "asciihexdigit", - "inscriptionalpahlavi", - "s", - "gothic", - "cs", - "avestan", - "tavt", - "zs", - "decimalnumber", - "tagbanwa", - "joinc", - "geor", - "hang", - "georgian", - "cased", - "joincontrol", - "oids", - "variationselector", - "graph", - "changeswhenlowercased", - "nd", - "goth", - "pc", - "po", - "ogrext", - "coptic", - "grext", - "logicalorderexception", - "idst", -#endif /* USE_UNICODE_PROPERTIES */ - "alpha", -#ifdef USE_UNICODE_PROPERTIES - "pi", - "dsrt", - "dash", - "otherdefaultignorablecodepoint", - "copt", - "idstart", - "closepunctuation", - "changeswhentitlecased", - "lepc", - "avst", - "cprt", - "runic", - "patsyn", - "mc", - "tfng", - "lepcha", - "prti", - "print", - "phli", - "mn", - "idsbinaryoperator", - "talu", - "runr", - "graphemebase", - "common", -#endif /* USE_UNICODE_PROPERTIES */ - "alnum", -#ifndef USE_UNICODE_PROPERTIES - "xdigit", - "newline", - "upper", - "ascii", - "cntrl", -#else /* USE_UNICODE_PROPERTIES */ - "phoenician", - "deva", - "changeswhencasefolded", - "pe", - "mongolian", - "armn", - "deseret", - "softdotted", - "armi", - "devanagari", - "digit", - "caseignorable", - "taml", - "tamil", - "telu", - "ids", - "armenian", - "sd", - "privateuse", - "assigned", - "cham", - "omath", - "otherpunctuation", - "taitham", - "defaultignorablecodepoint", - "glag", - "ethiopic", - "vs", - "me", - "cwl", - "mtei", - "math", - "term", - "java", - "tglg", - "lower", - "patternwhitespace", - "finalpunctuation", - "tagalog", - "patws", - "lisu", - "otheruppercase", -#endif /* USE_UNICODE_PROPERTIES */ - "space", -#ifdef USE_UNICODE_PROPERTIES - "graphemeextend", - "saur", - "uideo", - "lowercase", - "rjng", - "osma", - "linb", - "bali", - "cwt", - "separator", - "othermath", - "unassigned", - "lowercaseletter", - "arab", - "samr", - "brai", - "sundanese", - "samaritan", - "ahex", - "linearb", - "pf", - "ext", - "olck", - "nko", - "nkoo", - "newline", - "tibetan", - "javanese", - "bengali", - "newtailue", - "kana", - "olchiki", - "kali", - "cwcf", - "ps", - "braille", - "tibt", - "sterm", - "ugar", - "nonspacingmark", - "phag", - "kaithi", - "xidc", - "balinese", - "mong", - "ogam", - "modifierletter", - "ugaritic", - "katakana", - "pd", - "hebr", - "p", - "orkh", -#endif /* USE_UNICODE_PROPERTIES */ - "word", -#ifndef USE_UNICODE_PROPERTIES - "lower", - "graph", - "digit", - "blank" -#else /* USE_UNICODE_PROPERTIES */ - "saurashtra", - "khar", - "sund", - "zp", - "changeswhenuppercased", - "xidstart", - "shaw", - "kthi", - "ogham", - "spaceseparator", - "changeswhencasemapped", - "sarb", - "xidcontinue", - "bidic", - "deprecated", - "xdigit", - "bidicontrol", - "lu", - "dashpunctuation", - "extender", - "idstrinaryoperator", - "cherokee", - "punct", - "phagspa", - "oupper", - "lyci", - "whitespace", - "lycian", - "yi", - "cyrl", - "knda", - "orya", - "cyrillic", - "yiii", - "kannada", - "xids", - "limbu", - "m", - "unifiedideograph", - "paragraphseparator", - "lm", - "openpunctuation", - "tagb", - "kharoshthi", - "enclosingmark", - "surrogate", - "beng", - "number", - "telugu", - "rejang", - "malayalam", - "idsb", - "hexdigit", - "xpeo", - "phnx", - "bopo", - "bopomofo", - "dep", - "sylo", - "grbase", - "alphabetic", - "cwcm", - "patternsyntax", - "grek", - "greek", - "syrc", - "syriac", - "cuneiform", - "gujr", - "lydi", - "gujarati", - "sylotinagri", - "lydian", - "sm", - "currencysymbol", - "limb", - "othergraphemeextend", - "guru", - "qmark", - "mark", - "quotationmark", - "hex", - "upper", - "wspace", - "khmr", - "khmer", - "oldsoutharabian", - "spacingmark", - "punctuation", - "uppercase", - "meeteimayek", - "uppercaseletter", - "cypriot", - "buhd", - "buhid", - "modifiersymbol", - "blank", - "hyphen", - "bugi", - "myanmar", - "imperialaramaic", - "mathsymbol", - "cwu", - "gurmukhi", - "buginese", - "symbol", - "osmanya", - "bamu", - "sk", - "bamum", - "kayahli", - "egyp", - "grlink", - "xsux", - "any", - "graphemelink", - "mlym", - "mymr", - "hebrew", - "egyptianhieroglyphs", - "zyyy" -#endif /* USE_UNICODE_PROPERTIES */ - }; -#define uniname2ctype_pool ((const char *) &uniname2ctype_pool_contents) -#ifdef __GNUC__ -__inline -#ifdef __GNUC_STDC_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif -const struct uniname2ctype_struct * -uniname2ctype_p (register const char *str, register unsigned int len) -{ - static const struct uniname2ctype_struct wordlist[] = - { -#ifdef USE_UNICODE_PROPERTIES - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3, 17}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str5, 18}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str7, 21}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str9, 23}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str10, 26}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str12, 36}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str13, 33}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str14, 24}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str15, 20}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str16, 35}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str18, 93}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str19, 93}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str20, 51}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str21, 50}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str22, 18}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str24, 127}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str25, 59}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str28, 150}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str33, 175}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str34, 113}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str40, 79}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str41, 147}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str43, 86}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str44, 147}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str46, 3}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str49, 38}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str50, 179}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str51, 74}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str52, 74}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str56, 110}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str65, 115}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str66, 27}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str68, 108}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str70, 115}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str71, 100}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str73, 97}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str74, 108}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str76, 181}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str77, 113}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str83, 119}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str85, 190}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str86, 105}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str91, 119}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str92, 51}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str94, 81}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str97, 105}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str98, 92}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str100, 42}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str101, 17}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str103, 81}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str107, 99}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str111, 26}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str113, 36}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str114, 23}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str116, 46}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str118, 49}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str123, 151}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str128, 181}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str129, 98}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str130, 100}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str135, 27}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str136, 14}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str138, 35}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str139, 175}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str141, 179}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str144, 66}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str146, 192}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str147, 91}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str148, 171}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str151, 110}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str152, 69}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str153, 192}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str155, 187}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str156, 177}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str161, 191}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str162, 163}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str167, 177}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str168, 132}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str171, 185}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str179, 91}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str183, 176}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str185, 122}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str186, 19}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str192, 161}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str196, 142}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str197, 142}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str202, 130}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str203, 19}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str205, 49}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str207, 176}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str211, 113}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str212, 129}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str218, 66}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str220, 174}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str224, 162}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str225, 45}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str226, 111}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str227, 22}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str229, 152}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str235, 151}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str236, 53}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str243, 34}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str244, 117}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str245, 167}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str248, 96}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str249, 97}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str251, 96}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str253, 58}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str256, 167}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str257, 191}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str260, 194}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str262, 5}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str263, 60}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str264, 34}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str268, 111}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str269, 38}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str271, 43}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str272, 182}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str276, 127}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str277, 70}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str282, 190}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str285, 184}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str288, 1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str289, 42}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str292, 112}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str297, 168}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str298, 187}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str302, 127}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str306, 65}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str307, 40}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str309, 62}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str312, 140}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str317, 152}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str318, 124}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str319, 102}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str320, 196}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str321, 30}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str326, 130}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str327, 140}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str328, 161}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str329, 7}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str330, 162}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str331, 32}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str332, 183}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str334, 128}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str335, 102}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str337, 71}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str338, 73}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str339, 13}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str340, 136}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str341, 82}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str342, 63}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str343, 40}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str344, 104}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str352, 77}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str353, 112}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str354, 189}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str357, 159}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str358, 82}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str360, 4}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str361, 59}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str362, 87}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str363, 87}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str365, 88}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str366, 65}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str367, 77}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str370, 189}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str372, 21}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str373, 16}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str375, 149}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str377, 172}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str378, 43}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str379, 150}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str381, 69}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str387, 129}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str388, 98}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str390, 194}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str395, 31}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str396, 60}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str400, 158}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str404, 54}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str407, 171}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str408, 157}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str410, 114}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str413, 6}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str414, 195}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str417, 41}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str418, 114}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str419, 195}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str420, 155}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str426, 180}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str427, 9}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str429, 70}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str430, 143}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str435, 186}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str438, 56}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str440, 145}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str442, 123}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str444, 120}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str445, 134}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str448, 62}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str449, 50}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str450, 172}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str451, 20}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str454, 24}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str455, 79}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str458, 154}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str459, 125}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str460, 139}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str462, 154}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str463, 174}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str465, 120}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str467, 41}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str469, 178}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str474, 141}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str476, 138}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str477, 138}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str479, 0}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str480, 94}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str481, 157}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str485, 83}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str486, 128}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str487, 106}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str488, 141}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str489, 144}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str490, 63}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str491, 44}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str493, 125}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str494, 94}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str502, 193}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str504, 121}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str505, 32}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str508, 137}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str509, 164}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str512, 68}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str514, 134}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str515, 104}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str516, 101}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str520, 25}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str521, 121}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str522, 106}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str523, 39}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str525, 78}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str531, 37}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str533, 163}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str536, 12}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str537, 143}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str538, 133}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str539, 139}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str542, 52}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str548, 61}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str552, 67}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str553, 122}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str554, 164}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str556, 101}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str558, 53}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str559, 64}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str560, 160}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str562, 68}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str564, 166}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str570, 188}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str573, 11}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str575, 166}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str584, 28}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str587, 39}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str590, 178}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str593, 184}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str594, 99}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str595, 8}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str597, 137}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str598, 180}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str599, 146}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str601, 165}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str602, 146}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str603, 109}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str606, 76}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str608, 89}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str610, 86}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str611, 76}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str616, 109}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str618, 89}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str623, 67}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str626, 118}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str635, 29}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str638, 186}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str639, 52}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str640, 25}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str645, 44}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str646, 117}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str649, 133}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str651, 31}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str652, 22}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str653, 83}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str654, 33}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str656, 88}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str660, 145}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str661, 90}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str674, 183}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str676, 173}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str677, 132}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str689, 136}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str692, 107}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str698, 107}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str699, 188}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str701, 131}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str705, 71}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str706, 55}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str707, 64}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str708, 196}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str709, 75}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str710, 75}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str714, 80}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str717, 80}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str722, 135}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str723, 85}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str726, 148}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str727, 85}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str728, 131}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str729, 148}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str748, 48}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str751, 46}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str755, 118}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str758, 182}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str786, 84}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str797, 170}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str809, 29}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str820, 170}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str823, 173}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str842, 10}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str843, 165}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str848, 103}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str849, 103}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str863, 160}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str864, 30}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str866, 37}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str867, 57}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str878, 158}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str883, 28}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str884, 124}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str886, 116}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str887, 116}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str895, 47}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str898, 2}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str908, 169}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str909, 126}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str935, 95}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str937, 159}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str947, 48}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str966, 61}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str975, 84}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str978, 126}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#endif /* USE_UNICODE_PROPERTIES */ - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#ifndef USE_UNICODE_PROPERTIES - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str7, 7}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str8, 8}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str9, 1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str10, 13}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str11, 11}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str12, 0}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str13, 10}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str14, 14}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str15, 3}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str16, 9}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str17, 12}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str18, 6}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str19, 5}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str20, 4}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str21, 2} -#else /* USE_UNICODE_PROPERTIES */ - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1022, 45}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1024, 123}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1036, 156}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1040, 47}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1065, 156}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1071, 144}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1072, 153}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1140, 72}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1141, 135}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1174, 15}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1187, 72}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1221, 90}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1235, 95}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1277, 78}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1542, 153}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, - {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1751, 73} -#endif /* USE_UNICODE_PROPERTIES */ - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - register int key = uniname2ctype_hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= 0) - { - register int o = wordlist[key].name; - if (o >= 0) - { - register const char *s = o + uniname2ctype_pool; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0') - return &wordlist[key]; - } - } - } - return 0; -} - -static int -uniname2ctype(const UChar *name, unsigned int len) -{ - const struct uniname2ctype_struct *p = uniname2ctype_p((const char *)name, len); - if (p) return p->ctype; - return -1; -} diff --git a/src/numeric.c b/src/numeric.c index b5bff652d..5aa577828 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -306,7 +306,7 @@ static mrb_value num_eql(mrb_state *mrb, mrb_value x) { mrb_value y; - + mrb_get_args(mrb, "o", &y); if (mrb_type(x) != mrb_type(y)) return mrb_false_value(); if (mrb_equal(mrb, x, y)) { @@ -699,7 +699,7 @@ mrb_value mrb_fixnum_mul(mrb_state *mrb, mrb_value x, mrb_value y) { mrb_int a; - + a = mrb_fixnum(x); if (a == 0) return x; if (mrb_fixnum_p(y)) { @@ -1126,7 +1126,7 @@ mrb_value mrb_fixnum_plus(mrb_state *mrb, mrb_value x, mrb_value y) { mrb_int a; - + a = mrb_fixnum(x); if (a == 0) return y; if (mrb_fixnum_p(y)) { @@ -1165,7 +1165,7 @@ mrb_value mrb_fixnum_minus(mrb_state *mrb, mrb_value x, mrb_value y) { mrb_int a; - + a = mrb_fixnum(x); if (mrb_fixnum_p(y)) { mrb_int b, c; diff --git a/src/object.c b/src/object.c index e087c35c0..6707fc6e4 100644 --- a/src/object.c +++ b/src/object.c @@ -379,7 +379,6 @@ static const struct types { {MRB_TT_HASH, "Hash"}, {MRB_TT_STRING, "String"}, {MRB_TT_RANGE, "Range"}, - {MRB_TT_STRUCT, "Struct"}, // {MRB_TT_BIGNUM, "Bignum"}, {MRB_TT_FILE, "File"}, {MRB_TT_DATA, "Data"}, /* internal use: wrapped C pointers */ diff --git a/src/parse.y b/src/parse.y index 365bc5f18..db3445d84 100644 --- a/src/parse.y +++ b/src/parse.y @@ -715,6 +715,13 @@ new_regx(parser_state *p, const char *p1, const char* p2) return cons((node*)NODE_REGX, cons((node*)p1, (node*)p2)); } +// (:dregx . a) +static node* +new_dregx(parser_state *p, node *a, node *b) +{ + return cons((node*)NODE_DREGX, cons(a, b)); +} + // (:backref . n) static node* new_back_ref(parser_state *p, int n) @@ -750,15 +757,6 @@ call_bin_op(parser_state *p, node *recv, char *m, node *arg1) return new_call(p, recv, intern(m), list1(list1(arg1))); } -/* -// (:match (a . b)) -static node* -match_op(parser_state *p, node *a, node *b) -{ - return cons((node*)NODE_MATCH, cons((node*)a, (node*)b)); -} -*/ - static void args_with_block(parser_state *p, node *a, node *b) { @@ -2510,6 +2508,10 @@ regexp : tREGEXP_BEG tREGEXP { $$ = $2; } + | tREGEXP_BEG string_interp tREGEXP + { + $$ = new_dregx(p, $2, $3); + } ; symbol : basic_symbol @@ -4440,7 +4442,7 @@ parser_yylex(parser_state *p) p->lex_strterm = new_strterm(p, str_regexp, term, paren); #endif p->regexp = 1; - p->sterm = '/'; + p->sterm = term; return tREGEXP_BEG; case 's': @@ -5502,6 +5504,15 @@ parser_dump(mrb_state *mrb, node *tree, int offset) printf("NODE_REGX /%s/%s\n", (char*)tree->car, (char*)tree->cdr); break; + case NODE_DREGX: + printf("NODE_DREGX\n"); + dump_recur(mrb, tree->car, offset+1); + dump_prefix(offset); + printf("tail: %s\n", (char*)tree->cdr->cdr->car); + dump_prefix(offset); + printf("opt: %s\n", (char*)tree->cdr->cdr->cdr); + break; + case NODE_SYM: printf("NODE_SYM :%s\n", mrb_sym2name(mrb, sym(tree))); break; diff --git a/src/range.c b/src/range.c index 2cdc34f5c..59bf445aa 100644 --- a/src/range.c +++ b/src/range.c @@ -10,18 +10,14 @@ #include "mruby/string.h" #include <string.h> -#ifndef OTHER -#define OTHER 2 -#endif - #define RANGE_CLASS (mrb_class_obj_get(mrb, "Range")) static void range_check(mrb_state *mrb, mrb_value a, mrb_value b) { mrb_value ans; - int ta; - int tb; + enum mrb_vtype ta; + enum mrb_vtype tb; ta = mrb_type(a); tb = mrb_type(b); @@ -44,7 +40,7 @@ mrb_range_new(mrb_state *mrb, mrb_value beg, mrb_value end, int excl) r = (struct RRange*)mrb_obj_alloc(mrb, MRB_TT_RANGE, RANGE_CLASS); range_check(mrb, beg, end); - r->edges = (struct mrb_range_edges *)mrb_malloc(mrb, sizeof(struct mrb_range_edges)); + r->edges = (mrb_range_edges *)mrb_malloc(mrb, sizeof(mrb_range_edges)); r->edges->beg = beg; r->edges->end = end; r->excl = excl; @@ -107,7 +103,7 @@ range_init(mrb_state *mrb, mrb_value range, mrb_value beg, mrb_value end, int ex range_check(mrb, beg, end); r->excl = exclude_end; if (!r->edges) { - r->edges = (struct mrb_range_edges *)mrb_malloc(mrb, sizeof(struct mrb_range_edges)); + r->edges = (mrb_range_edges *)mrb_malloc(mrb, sizeof(mrb_range_edges)); } r->edges->beg = beg; r->edges->end = end; @@ -185,7 +181,7 @@ r_le(mrb_state *mrb, mrb_value a, mrb_value b) /* output :a < b => -1, a = b => 0, a > b => +1 */ if (mrb_type(r) == MRB_TT_FIXNUM) { - int c = mrb_fixnum(r); + mrb_int c = mrb_fixnum(r); if (c == 0 || c == -1) return TRUE; } @@ -212,7 +208,7 @@ r_ge(mrb_state *mrb, mrb_value a, mrb_value b) /* output :a < b => -1, a = b => 0, a > b => +1 */ if (mrb_type(r) == MRB_TT_FIXNUM) { - int c = mrb_fixnum(r); + mrb_int c = mrb_fixnum(r); if (c == 0 || c == 1) return TRUE; } @@ -274,12 +270,14 @@ mrb_range_each(mrb_state *mrb, mrb_value range) } mrb_int -mrb_range_beg_len(mrb_state *mrb, mrb_value range, mrb_int *begp, mrb_int *lenp, mrb_int len, mrb_int err) +mrb_range_beg_len(mrb_state *mrb, mrb_value range, mrb_int *begp, mrb_int *lenp, mrb_int len) { mrb_int beg, end, b, e; struct RRange *r = mrb_range_ptr(range); - if (mrb_type(range) != MRB_TT_RANGE) return FALSE; + if (mrb_type(range) != MRB_TT_RANGE) { + mrb_raise(mrb, E_TYPE_ERROR, "expected Range."); + } beg = b = mrb_fixnum(r->edges->beg); end = e = mrb_fixnum(r->edges->end); @@ -288,10 +286,10 @@ mrb_range_beg_len(mrb_state *mrb, mrb_value range, mrb_int *begp, mrb_int *lenp, beg += len; if (beg < 0) goto out_of_range; } - if (err == 0 || err == 2) { - if (beg > len) goto out_of_range; - if (end > len) end = len; - } + + if (beg > len) goto out_of_range; + if (end > len) end = len; + if (end < 0) end += len; if (!r->excl && end < len) end++; /* include end point */ len = end - beg; @@ -302,11 +300,7 @@ mrb_range_beg_len(mrb_state *mrb, mrb_value range, mrb_int *begp, mrb_int *lenp, return TRUE; out_of_range: - if (err) { - mrb_raisef(mrb, E_RANGE_ERROR, "%ld..%s%ld out of range", - b, r->excl? "." : "", e); - } - return OTHER; + return FALSE; } /* 15.2.14.4.12(x) */ diff --git a/src/re.c b/src/re.c deleted file mode 100644 index 744732e58..000000000 --- a/src/re.c +++ /dev/null @@ -1,42 +0,0 @@ -/* -** re.c - Regexp class -** -** See Copyright Notice in mruby.h -*/ - -#include "mruby.h" -#include <string.h> -#include "mruby/string.h" -#include "re.h" -#include "mruby/array.h" -#include "mruby/class.h" -#include "error.h" - -/* - * Document-class: RegexpError - * - * Raised when given an invalid regexp expression. - * - * Regexp.new("?") - * - * <em>raises the exception:</em> - * - * RegexpError: target of repeat operator is not specified: /?/ - */ - -/* - * Document-class: Regexp - * - * A <code>Regexp</code> holds a regular expression, used to match a pattern - * against strings. Regexps are created using the <code>/.../</code> and - * <code>%r{...}</code> literals, and by the <code>Regexp::new</code> - * constructor. - * - * :include: doc/re.rdoc - */ - -void -mrb_init_regexp(mrb_state *mrb) -{ - //mrb_define_class(mrb, REGEXP_CLASS, mrb->object_class); -} diff --git a/src/sprintf.c b/src/sprintf.c index 905182147..192d44735 100644 --- a/src/sprintf.c +++ b/src/sprintf.c @@ -623,7 +623,7 @@ retry: p++; goto retry; } - + case '*': CHECK_FOR_WIDTH(flags); flags |= FWIDTH; @@ -658,7 +658,7 @@ retry: case '\n': case '\0': p--; - + case '%': if (flags != FNONE) { mrb_raise(mrb, E_ARGUMENT_ERROR, "invalid format character - %"); diff --git a/src/st.c b/src/st.c deleted file mode 100644 index 1fd859bf9..000000000 --- a/src/st.c +++ /dev/null @@ -1,596 +0,0 @@ -/* This is a public domain general purpose hash table package written by Peter Moore @ UCB. */ - -/* static char sccsid[] = "@(#) st.c 5.1 89/12/14 Crucible"; */ - -#include <stdio.h> -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif -#include <string.h> -#include "st.h" - -#define ST_DEFAULT_MAX_DENSITY 5 -#define ST_DEFAULT_INIT_TABLE_SIZE 11 - - /* - * DEFAULT_MAX_DENSITY is the default for the largest we allow the - * average number of items per bin before increasing the number of - * bins - * - * DEFAULT_INIT_TABLE_SIZE is the default for the number of bins - * allocated initially - * - */ -static int numcmp(long, long); -static st_index_t numhash(long); -static struct st_hash_type type_numhash = { - (int (*)(ANYARGS))numcmp, - (st_index_t (*)(ANYARGS))numhash, -}; - -/* extern int strcmp(const char *, const char *); */ -static st_index_t strhash(const char*); -static struct st_hash_type type_strhash = { - (int (*)(ANYARGS))strcmp, - (st_index_t (*)(ANYARGS))strhash, -}; - -static st_index_t strcasehash(st_data_t); -static const struct st_hash_type type_strcasehash = { - (int (*)(ANYARGS))st_strcasecmp, - (st_index_t (*)(ANYARGS))strcasehash, -}; - -static void rehash(st_table*); - -#ifdef RUBY -#define malloc xmalloc -#define calloc xcalloc -#endif - -#define alloc(type) (type*)malloc((unsigned)sizeof(type)) -#define Calloc(n,s) (char*)calloc((n),(s)) - -#define EQUAL(table,x,y) ((x)==(y) || (*table->type->compare)((x),(y)) == 0) - -#define do_hash(key,table) (unsigned int)(*(table)->type->hash)((key)) -#define do_hash_bin(key,table) (do_hash(key, table)%(table)->num_bins) - -/* - * MINSIZE is the minimum size of a dictionary. - */ - -#define MINSIZE 8 - -/* -Table of prime numbers 2^n+a, 2<=n<=30. -*/ -static long primes[] = { - 8 + 3, - 16 + 3, - 32 + 5, - 64 + 3, - 128 + 3, - 256 + 27, - 512 + 9, - 1024 + 9, - 2048 + 5, - 4096 + 3, - 8192 + 27, - 16384 + 43, - 32768 + 3, - 65536 + 45, - 131072 + 29, - 262144 + 3, - 524288 + 21, - 1048576 + 7, - 2097152 + 17, - 4194304 + 15, - 8388608 + 9, - 16777216 + 43, - 33554432 + 35, - 67108864 + 15, - 134217728 + 29, - 268435456 + 3, - 536870912 + 11, - 1073741824 + 85, - 0 -}; - -static int -new_size(int size) -{ - int i; - -#if 0 - for (i=3; i<31; i++) { - if ((1<<i) > size) return 1<<i; - } - return -1; -#else - int newsize; - - for (i = 0, newsize = MINSIZE; - i < sizeof(primes)/sizeof(primes[0]); - i++, newsize <<= 1) - { - if (newsize > size) return primes[i]; - } - /* Ran out of polynomials */ - return -1; /* should raise exception */ -#endif -} - -st_table* -st_init_table_with_size(const struct st_hash_type *type, int size) -{ - st_table *tbl; - - size = new_size(size); /* round up to prime number */ - - tbl = alloc(st_table); - tbl->type = type; - tbl->num_entries = 0; - tbl->num_bins = size; - tbl->bins = (st_table_entry **)Calloc(size, sizeof(st_table_entry*)); - tbl->head = 0; - tbl->tail = 0; - - return tbl; -} - -st_table* -st_init_table(const struct st_hash_type *type) -{ - return st_init_table_with_size(type, 0); -} - -st_table* -st_init_numtable(void) -{ - return st_init_table(&type_numhash); -} - -st_table* -st_init_numtable_with_size(int size) -{ - return st_init_table_with_size(&type_numhash, size); -} - -st_table* -st_init_strtable(void) -{ - return st_init_table(&type_strhash); -} - -st_table* -st_init_strtable_with_size(int size) -{ - return st_init_table_with_size(&type_strhash, size); -} - -st_table* -st_init_strcasetable(void) -{ - return st_init_table(&type_strcasehash); -} - -st_table* -st_init_strcasetable_with_size(st_index_t size) -{ - return st_init_table_with_size(&type_strcasehash, size); -} - -void -st_clear(st_table *table) -{ - register st_table_entry *ptr, *next; - st_index_t i; - - for(i = 0; i < table->num_bins; i++) { - ptr = table->bins[i]; - table->bins[i] = 0; - while (ptr != 0) { - next = ptr->next; - free(ptr); - ptr = next; - } - } - table->num_entries = 0; - table->head = 0; - table->tail = 0; -} - -void -st_free_table(st_table *table) -{ - st_clear(table); - free(table->bins); - free(table); -} - -#define PTR_NOT_EQUAL(table, ptr, hash_val, key) \ -((ptr) != 0 && (ptr->hash != (hash_val) || !EQUAL((table), (key), (ptr)->key))) - -#define FIND_ENTRY(table, ptr, hash_val, bin_pos) do {\ - bin_pos = hash_val%(table)->num_bins;\ - ptr = (table)->bins[bin_pos];\ - if (PTR_NOT_EQUAL(table, ptr, hash_val, key)) {\ - while (PTR_NOT_EQUAL(table, ptr->next, hash_val, key)) {\ - ptr = ptr->next;\ - }\ - ptr = ptr->next;\ - }\ -} while (0) - -int -st_lookup(st_table *table, st_data_t key, st_data_t *value) -{ - unsigned int hash_val, bin_pos; - register st_table_entry *ptr; - - hash_val = do_hash(key, table); - FIND_ENTRY(table, ptr, hash_val, bin_pos); - - if (ptr == 0) { - return 0; - } - else { - if (value != 0) *value = ptr->record; - return 1; - } -} - -#define ADD_DIRECT(table, key, value, hash_val, bin_pos)\ -do {\ - st_table_entry *entry;\ - if (table->num_entries/(table->num_bins) > ST_DEFAULT_MAX_DENSITY) {\ - rehash(table);\ - bin_pos = hash_val % table->num_bins;\ - }\ - \ - entry = alloc(st_table_entry);\ - \ - entry->hash = hash_val;\ - entry->key = key;\ - entry->record = value;\ - entry->next = table->bins[bin_pos];\ - if (table->head != 0) {\ - entry->fore = 0;\ - (entry->back = table->tail)->fore = entry;\ - table->tail = entry;\ - }\ - else {\ - table->head = table->tail = entry;\ - entry->fore = entry->back = 0;\ - }\ - table->bins[bin_pos] = entry;\ - table->num_entries++;\ -} while (0) - -int -st_insert(st_table *table, st_data_t key, st_data_t value) -{ - unsigned int hash_val, bin_pos; - register st_table_entry *ptr; - - hash_val = do_hash(key, table); - FIND_ENTRY(table, ptr, hash_val, bin_pos); - - if (ptr == 0) { - ADD_DIRECT(table, key, value, hash_val, bin_pos); - return 0; - } - else { - ptr->record = value; - return 1; - } -} - -void -st_add_direct(st_table *table, st_data_t key, st_data_t value) -{ - unsigned int hash_val, bin_pos; - - hash_val = do_hash(key, table); - bin_pos = hash_val % table->num_bins; - ADD_DIRECT(table, key, value, hash_val, bin_pos); -} - -static void -rehash(register st_table *table) -{ - register st_table_entry *ptr, **new_bins; - st_index_t i, new_num_bins, hash_val; - - new_num_bins = new_size(table->num_bins+1); - new_bins = (st_table_entry**) - realloc(table->bins, new_num_bins * sizeof(st_table_entry*)); - for (i = 0; i < new_num_bins; ++i) new_bins[i] = 0; - table->num_bins = new_num_bins; - table->bins = new_bins; - - if ((ptr = table->head) != 0) { - do { - hash_val = ptr->hash % new_num_bins; - ptr->next = new_bins[hash_val]; - new_bins[hash_val] = ptr; - } while ((ptr = ptr->fore) != 0); - } -} - -st_table* -st_copy(st_table *old_table) -{ - st_table *new_table; - st_table_entry *ptr, *entry, *prev, **tail; - st_index_t num_bins = old_table->num_bins; - st_index_t hash_val; - - new_table = alloc(st_table); - if (new_table == 0) { - return 0; - } - - *new_table = *old_table; - new_table->bins = (st_table_entry**) - Calloc((unsigned)num_bins, sizeof(st_table_entry*)); - - if (new_table->bins == 0) { - free(new_table); - return 0; - } - - if ((ptr = old_table->head) != 0) { - prev = 0; - tail = &new_table->head; - do { - entry = alloc(st_table_entry); - if (entry == 0) { - st_free_table(new_table); - return 0; - } - *entry = *ptr; - hash_val = entry->hash % num_bins; - entry->next = new_table->bins[hash_val]; - new_table->bins[hash_val] = entry; - entry->back = prev; - *tail = prev = entry; - tail = &entry->fore; - } while ((ptr = ptr->fore) != 0); - new_table->tail = prev; - } - - return new_table; -} - -#define REMOVE_ENTRY(table, ptr) do \ - { \ - if (ptr->fore == 0 && ptr->back == 0) { \ - table->head = 0; \ - table->tail = 0; \ - } \ - else { \ - st_table_entry *fore = ptr->fore, *back = ptr->back; \ - if (fore) fore->back = back; \ - if (back) back->fore = fore; \ - if (ptr == table->head) table->head = fore; \ - if (ptr == table->tail) table->tail = back; \ - } \ - table->num_entries--; \ - } while (0) - -int -st_delete(register st_table *table, register st_data_t *key, st_data_t *value) -{ - st_index_t hash_val; - st_table_entry **prev; - register st_table_entry *ptr; - - hash_val = do_hash_bin(*key, table); - for (prev = &table->bins[hash_val]; (ptr = *prev) != 0; prev = &ptr->next) { - if (EQUAL(table, *key, ptr->key)) { - *prev = ptr->next; - REMOVE_ENTRY(table, ptr); - if (value != 0) *value = ptr->record; - *key = ptr->key; - free(ptr); - return 1; - } - } - - if (value != 0) *value = 0; - return 0; -} - -int -st_foreach(st_table *table, enum st_retval (*func)(ANYARGS), st_data_t arg) -{ - st_table_entry *ptr, **last, *tmp; - enum st_retval retval; - st_index_t i; - - if ((ptr = table->head) != 0) { - do { - i = ptr->hash % table->num_bins; - retval = (*func)(ptr->key, ptr->record, (void*)arg); - switch (retval) { - case ST_CHECK: /* check if hash is modified during iteration */ - for (tmp = table->bins[i]; tmp != ptr; tmp = tmp->next) { - if (!tmp) { - /* call func with error notice */ - (*func)(0, 0, arg, 1); - return 1; - } - } - /* fall through */ - default: - case ST_CONTINUE: - ptr = ptr->fore; - break; - case ST_STOP: - return 0; - case ST_DELETE: - last = &table->bins[ptr->hash % table->num_bins]; - for (; (tmp = *last) != 0; last = &tmp->next) { - if (ptr == tmp) { - tmp = ptr->fore; - *last = ptr->next; - REMOVE_ENTRY(table, ptr); - free(ptr); - if (ptr == tmp) return 0; - ptr = tmp; - break; - } - } - } - } while (ptr && table->head); - } - return 0; -} - -static st_index_t -strhash(const char *string) -{ - register int c; - -#ifdef HASH_ELFHASH - register unsigned int h = 0, g; - - while ((c = *string++) != '\0') { - h = ( h << 4 ) + c; - if ( g = h & 0xF0000000 ) - h ^= g >> 24; - h &= ~g; - } - return h; -#elif defined(HASH_PERL) - register int val = 0; - - while ((c = *string++) != '\0') { - val += c; - val += (val << 10); - val ^= (val >> 6); - } - val += (val << 3); - val ^= (val >> 11); - - return val + (val << 15); -#else - register int val = 0; - - while ((c = *string++) != '\0') { - val = val*997 + c; - } - - return val + (val>>5); -#endif -} - -#define FNV1_32A_INIT 0x811c9dc5 -#define FNV_32_PRIME 0x01000193 - -int -st_strcasecmp(const char *s1, const char *s2) -{ - unsigned int c1, c2; - - while (1) { - c1 = (unsigned char)*s1++; - c2 = (unsigned char)*s2++; - if (c1 == '\0' || c2 == '\0') { - if (c1 != '\0') return 1; - if (c2 != '\0') return -1; - return 0; - } - if ((unsigned int)(c1 - 'A') <= ('Z' - 'A')) c1 += 'a' - 'A'; - if ((unsigned int)(c2 - 'A') <= ('Z' - 'A')) c2 += 'a' - 'A'; - if (c1 != c2) { - if (c1 > c2) - return 1; - else - return -1; - } - } -} - -int -st_strncasecmp(const char *s1, const char *s2, size_t n) -{ - unsigned int c1, c2; - - while (n--) { - c1 = (unsigned char)*s1++; - c2 = (unsigned char)*s2++; - if (c1 == '\0' || c2 == '\0') { - if (c1 != '\0') return 1; - if (c2 != '\0') return -1; - return 0; - } - if ((unsigned int)(c1 - 'A') <= ('Z' - 'A')) c1 += 'a' - 'A'; - if ((unsigned int)(c2 - 'A') <= ('Z' - 'A')) c2 += 'a' - 'A'; - if (c1 != c2) { - if (c1 > c2) - return 1; - else - return -1; - } - } - return 0; -} - -static st_index_t -strcasehash(st_data_t arg) -{ - register const char *string = (const char*)arg; - register st_index_t hval = FNV1_32A_INIT; - - /* - * FNV-1a hash each octet in the buffer - */ - while (*string) { - unsigned int c = (unsigned char)*string++; - if ((unsigned int)(c - 'A') <= ('Z' - 'A')) c += 'a' - 'A'; - hval ^= c; - - /* multiply by the 32 bit FNV magic prime mod 2^32 */ - hval *= FNV_32_PRIME; - } - return hval; -} - -static int -numcmp(long x, long y) -{ - return x != y; -} - -static st_index_t -numhash(long n) -{ - return n; -} - -#if 0 -static enum st_retval -f(st_data_t key, st_data_t val, st_data_t a) -{ - printf("tbl=%p key=%s val=%s\n", (st_table*)a, (char*)key, (char*)val); - // return ST_CONTINUE; -} - -void -main(int argc, char **argv) -{ - st_table *tbl = st_init_strtable(); - int i; - - for (i = 1; i<argc; i+=2) { - st_insert(tbl, (st_data_t)argv[i], (st_data_t)argv[i+1]); - } - st_foreach(tbl, f, (st_data_t)tbl); - st_delete(tbl, (st_data_t*)&argv[1], 0); - st_foreach(tbl, f, (st_data_t)tbl); -} -#endif - diff --git a/src/st.h b/src/st.h deleted file mode 100644 index 2be618041..000000000 --- a/src/st.h +++ /dev/null @@ -1,99 +0,0 @@ -/* This is a public domain general purpose hash table package written by Peter Moore @ UCB. */ - -/* @(#) st.h 5.1 89/12/14 */ - -#ifndef RUBY_ST_H -#define RUBY_ST_H 1 - -#if defined(__cplusplus) -extern "C" { -#endif - -#include <stdlib.h> -#include <stdint.h> - -#ifndef CHAR_BIT -# ifdef HAVE_LIMITS_H -# include <limits.h> -# else -# define CHAR_BIT 8 -# endif -#endif - -#ifndef ANYARGS -# ifdef __cplusplus -# define ANYARGS ... -# else -# define ANYARGS -# endif -#endif - -typedef uintptr_t st_data_t; -typedef struct st_table st_table; - -typedef st_data_t st_index_t; -typedef int st_compare_func(st_data_t, st_data_t); -typedef st_index_t st_hash_func(st_data_t); - -typedef struct st_table_entry st_table_entry; - -struct st_table_entry { - st_index_t hash; - st_data_t key; - st_data_t record; - st_table_entry *next; - st_table_entry *fore, *back; -}; - -struct st_hash_type { - int (*compare)(ANYARGS /*st_data_t, st_data_t*/); /* st_compare_func* */ - st_index_t (*hash)(ANYARGS /*st_data_t*/); /* st_hash_func* */ -}; - -struct st_table { - const struct st_hash_type *type; - int num_bins; - int num_entries; - struct st_table_entry **bins; - struct st_table_entry *head, *tail; -}; - -#define st_is_member(table,key) st_lookup(table,key,(st_data_t *)0) - -enum st_retval {ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK}; - -st_table *st_init_table(const struct st_hash_type *); -st_table *st_init_table_with_size(const struct st_hash_type *, int); -st_table *st_init_numtable(void); -st_table *st_init_numtable_with_size(int); -st_table *st_init_strtable(void); -st_table *st_init_strtable_with_size(int); -st_table *st_init_strcasetable(void); -st_table *st_init_strcasetable_with_size(st_index_t); -int st_delete(st_table *, st_data_t *, st_data_t *); -int st_delete_safe(st_table *, st_data_t *, st_data_t *, st_data_t); -int st_insert(st_table *, st_data_t, st_data_t); -int st_lookup(st_table *, st_data_t, st_data_t *); -int st_foreach(st_table *, enum st_retval (*)(ANYARGS), st_data_t); -void st_add_direct(st_table *, st_data_t, st_data_t); -void st_free_table(st_table *); -void st_cleanup_safe(st_table *, st_data_t); -st_table *st_copy(st_table *); -int st_strcasecmp(const char *s1, const char *s2); -int st_strncasecmp(const char *s1, const char *s2, size_t n); -#define STRCASECMP(s1, s2) (st_strcasecmp(s1, s2)) -#define STRNCASECMP(s1, s2, n) (st_strncasecmp(s1, s2, n)) - -#define ST_NUMCMP ((int (*)()) 0) -#define ST_NUMHASH ((int (*)()) -2) - -#define st_numcmp ST_NUMCMP -#define st_numhash ST_NUMHASH - -int st_strhash(); - -#if defined(__cplusplus) -} /* extern "C" { */ -#endif - -#endif /* ST_INCLUDED */ diff --git a/src/state.c b/src/state.c index 19b0b660f..1936b8aab 100644 --- a/src/state.c +++ b/src/state.c @@ -72,7 +72,7 @@ mrb_alloca_free(mrb_state *mrb) } mrb_state* -mrb_open() +mrb_open(void) { mrb_state *mrb = mrb_open_allocf(allocf, NULL); diff --git a/src/string.c b/src/string.c index 205c39876..23da3baa6 100644 --- a/src/string.c +++ b/src/string.c @@ -35,7 +35,7 @@ _obj_classname(mrb_state *mrb, mrb_value obj) } void -mrb_str_decref(mrb_state *mrb, struct mrb_shared_string *shared) +mrb_str_decref(mrb_state *mrb, mrb_shared_string *shared) { shared->refcnt--; if (shared->refcnt == 0) { @@ -48,7 +48,7 @@ static void str_modify(mrb_state *mrb, struct RString *s) { if (s->flags & MRB_STR_SHARED) { - struct mrb_shared_string *shared = s->aux.shared; + mrb_shared_string *shared = s->aux.shared; if (shared->refcnt == 1 && s->ptr == shared->ptr) { s->ptr = shared->ptr; @@ -275,7 +275,7 @@ static void str_make_shared(mrb_state *mrb, struct RString *s) { if (!(s->flags & MRB_STR_SHARED)) { - struct mrb_shared_string *shared = (struct mrb_shared_string *)mrb_malloc(mrb, sizeof(struct mrb_shared_string)); + mrb_shared_string *shared = (mrb_shared_string *)mrb_malloc(mrb, sizeof(mrb_shared_string)); shared->refcnt = 1; if (s->aux.capa > s->len) { @@ -301,7 +301,7 @@ mrb_value mrb_str_literal(mrb_state *mrb, mrb_value str) { struct RString *s, *orig; - struct mrb_shared_string *shared; + mrb_shared_string *shared; s = str_alloc(mrb, mrb->string_class); orig = mrb_str_ptr(str); @@ -759,23 +759,22 @@ num_index: return mrb_str_dup(mrb, indx); return mrb_nil_value(); - default: + case MRB_TT_RANGE: /* check if indx is Range */ { mrb_int beg, len; mrb_value tmp; len = RSTRING_LEN(str); - switch (mrb_range_beg_len(mrb, indx, &beg, &len, len, 0)) { - case FALSE: - break; - case 2/*OTHER*/: - return mrb_nil_value(); - default: - tmp = mrb_str_subseq(mrb, str, beg, len); - return tmp; + if (mrb_range_beg_len(mrb, indx, &beg, &len, len)) { + tmp = mrb_str_subseq(mrb, str, beg, len); + return tmp; + } + else { + return mrb_nil_value(); } } + default: idx = mrb_fixnum(indx); goto num_index; } @@ -1162,7 +1161,7 @@ static mrb_value mrb_str_subseq(mrb_state *mrb, mrb_value str, int beg, int len) { struct RString *orig, *s; - struct mrb_shared_string *shared; + mrb_shared_string *shared; orig = mrb_str_ptr(str); str_make_shared(mrb, orig); @@ -2057,7 +2056,6 @@ mrb_cstr_to_inum(mrb_state *mrb, const char *str, int base, int badcheck) char *end; char sign = 1; int c; - long len; unsigned long val; #undef ISDIGIT @@ -2114,30 +2112,25 @@ mrb_cstr_to_inum(mrb_state *mrb, const char *str, int base, int badcheck) } switch (base) { case 2: - len = 1; if (str[0] == '0' && (str[1] == 'b'||str[1] == 'B')) { str += 2; } break; case 3: - len = 2; break; case 8: if (str[0] == '0' && (str[1] == 'o'||str[1] == 'O')) { str += 2; } case 4: case 5: case 6: case 7: - len = 3; break; case 10: if (str[0] == '0' && (str[1] == 'd'||str[1] == 'D')) { str += 2; } case 9: case 11: case 12: case 13: case 14: case 15: - len = 4; break; case 16: - len = 4; if (str[0] == '0' && (str[1] == 'x'||str[1] == 'X')) { str += 2; } @@ -2146,12 +2139,6 @@ mrb_cstr_to_inum(mrb_state *mrb, const char *str, int base, int badcheck) if (base < 2 || 36 < base) { mrb_raisef(mrb, E_ARGUMENT_ERROR, "illegal radix %d", base); } - if (base <= 32) { - len = 5; - } - else { - len = 6; - } break; } /* end of switch (base) { */ if (*str == '0') { /* squeeze preceeding 0s */ @@ -2172,7 +2159,6 @@ mrb_cstr_to_inum(mrb_state *mrb, const char *str, int base, int badcheck) if (badcheck) goto bad; return mrb_fixnum_value(0); } - len *= strlen(str); val = strtoul((char*)str, &end, base); diff --git a/src/variable.c b/src/variable.c index a2dca3cc6..d5331f844 100644 --- a/src/variable.c +++ b/src/variable.c @@ -20,8 +20,7 @@ typedef int (iv_foreach_func)(mrb_state*,mrb_sym,mrb_value,void*); #define MRB_SEGMENT_SIZE 4 #endif -typedef struct segment -{ +typedef struct segment { mrb_sym key[MRB_SEGMENT_SIZE]; mrb_value val[MRB_SEGMENT_SIZE]; struct segment *next; @@ -754,7 +753,7 @@ mrb_vm_cv_get(mrb_state *mrb, mrb_sym sym) struct RClass *c = mrb->ci->proc->target_class; if (!c) c = mrb->ci->target_class; - + return mrb_mod_cv_get(mrb, c, sym); } @@ -316,8 +316,13 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, int argc, mr if (!mrb->jmp) { jmp_buf c_jmp; + mrb_callinfo *old_ci = mrb->ci; if (setjmp(c_jmp) != 0) { /* error */ + while (old_ci != mrb->ci) { + mrb->stack = mrb->stbase + mrb->ci->stackidx; + cipop(mrb); + } mrb->jmp = 0; return mrb_nil_value(); } @@ -816,12 +821,12 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) recv = regs[a]; if (GET_OPCODE(i) != OP_SENDB) { - if (n == CALL_MAXARGS) { - SET_NIL_VALUE(regs[a+2]); - } - else { - SET_NIL_VALUE(regs[a+n+1]); - } + if (n == CALL_MAXARGS) { + SET_NIL_VALUE(regs[a+2]); + } + else { + SET_NIL_VALUE(regs[a+n+1]); + } } c = mrb_class(mrb, recv); m = mrb_method_search_vm(mrb, &c, mid); @@ -835,7 +840,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) } else { memmove(regs+a+2, regs+a+1, sizeof(mrb_value)*(n+1)); - regs[a+1] = sym; + regs[a+1] = sym; n++; } } @@ -905,9 +910,9 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) ci->target_class = m->target_class; ci->proc = m; if (m->env) { - if (m->env->mid) { - ci->mid = m->env->mid; - } + if (m->env->mid) { + ci->mid = m->env->mid; + } if (!m->env->stack) { m->env->stack = mrb->stack; } @@ -915,14 +920,14 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) /* prepare stack */ if (MRB_PROC_CFUNC_P(m)) { - recv = m->body.func(mrb, recv); + recv = m->body.func(mrb, recv); mrb_gc_arena_restore(mrb, ai); if (mrb->exc) goto L_RAISE; /* pop stackpos */ - ci = mrb->ci; + ci = mrb->ci; regs = mrb->stack = mrb->stbase + ci->stackidx; - regs[ci->acc] = recv; - pc = ci->pc; + regs[ci->acc] = recv; + pc = ci->pc; cipop(mrb); irep = mrb->ci->proc->body.irep; pool = irep->pool; @@ -933,10 +938,10 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) /* setup environment for calling method */ proc = m; irep = m->body.irep; - if (!irep) { - mrb->stack[0] = mrb_nil_value(); - goto L_RETURN; - } + if (!irep) { + mrb->stack[0] = mrb_nil_value(); + goto L_RETURN; + } pool = irep->pool; syms = irep->syms; ci->nregs = irep->nregs; @@ -974,7 +979,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) } else { memmove(regs+a+2, regs+a+1, sizeof(mrb_value)*(n+1)); - SET_SYM_VALUE(regs[a+1], ci->mid); + SET_SYM_VALUE(regs[a+1], ci->mid); n++; } } @@ -1099,13 +1104,13 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) struct RArray *ary = mrb_ary_ptr(regs[1]); argv = ary->ptr; argc = ary->len; - mrb_gc_protect(mrb, regs[1]); + mrb_gc_protect(mrb, regs[1]); } if (mrb->ci->proc && MRB_PROC_STRICT_P(mrb->ci->proc)) { if (argc >= 0) { if (argc < m1 + m2 || (r == 0 && argc > len)) { - argnum_error(mrb, m1+m2); - goto L_RAISE; + argnum_error(mrb, m1+m2); + goto L_RAISE; } } } @@ -1125,9 +1130,9 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) if (r) { /* r */ regs[m1+o+1] = mrb_ary_new_capa(mrb, 0); } - if (o == 0) pc++; - else - pc += argc - m1 - m2 + 1; + if (o == 0) pc++; + else + pc += argc - m1 - m2 + 1; } else { if (argv0 != argv) { @@ -1168,29 +1173,29 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) int eidx; L_RAISE: - ci = mrb->ci; - mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "lastpc"), mrb_voidp_value(pc)); - mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->cibase)); - eidx = ci->eidx; + ci = mrb->ci; + mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "lastpc"), mrb_voidp_value(pc)); + mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->cibase)); + eidx = ci->eidx; if (ci == mrb->cibase) { - if (ci->ridx == 0) goto L_STOP; - goto L_RESCUE; - } + if (ci->ridx == 0) goto L_STOP; + goto L_RESCUE; + } while (ci[0].ridx == ci[-1].ridx) { cipop(mrb); ci = mrb->ci; - if (ci[1].acc < 0 && prev_jmp) { - mrb->jmp = prev_jmp; - longjmp(*(jmp_buf*)mrb->jmp, 1); - } - while (eidx > mrb->ci->eidx) { - ecall(mrb, --eidx); - } + if (ci[1].acc < 0 && prev_jmp) { + mrb->jmp = prev_jmp; + longjmp(*(jmp_buf*)mrb->jmp, 1); + } + while (eidx > mrb->ci->eidx) { + ecall(mrb, --eidx); + } if (ci == mrb->cibase) { if (ci->ridx == 0) { - regs = mrb->stack = mrb->stbase; - goto L_STOP; - } + regs = mrb->stack = mrb->stbase; + goto L_STOP; + } break; } } @@ -1217,11 +1222,11 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) goto L_RAISE; } ci = mrb->cibase + e->cioff; - if (ci == mrb->cibase) { + if (ci == mrb->cibase) { localjump_error(mrb, "return"); goto L_RAISE; - } - mrb->ci = ci; + } + mrb->ci = ci; break; } case OP_R_NORMAL: @@ -1344,10 +1349,10 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) if (lv == 0) stack = regs + 1; else { struct REnv *e = uvenv(mrb, lv-1); - if (!e) { - localjump_error(mrb, "yield"); - goto L_RAISE; - } + if (!e) { + localjump_error(mrb, "yield"); + goto L_RAISE; + } stack = e->stack + 1; } regs[a] = stack[m1+r+m2]; @@ -1373,38 +1378,38 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) /* need to check if op is overridden */ switch (TYPES2(mrb_type(regs[a]),mrb_type(regs[a+1]))) { case TYPES2(MRB_TT_FIXNUM,MRB_TT_FIXNUM): - { - mrb_int x, y, z; - - x = mrb_fixnum(regs[a]); - y = mrb_fixnum(regs[a+1]); - z = x + y; - if (((x < 0) ^ (y < 0)) == 0 && (x < 0) != (z < 0)) { - /* integer overflow */ - SET_FLT_VALUE(regs[a], (mrb_float)x + (mrb_float)y); - break; - } - SET_INT_VALUE(regs[a], z); - } - break; + { + mrb_int x, y, z; + + x = mrb_fixnum(regs[a]); + y = mrb_fixnum(regs[a+1]); + z = x + y; + if (((x < 0) ^ (y < 0)) == 0 && (x < 0) != (z < 0)) { + /* integer overflow */ + SET_FLT_VALUE(regs[a], (mrb_float)x + (mrb_float)y); + break; + } + SET_INT_VALUE(regs[a], z); + } + break; case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT): - { - mrb_int x = mrb_fixnum(regs[a]); - mrb_float y = mrb_float(regs[a+1]); - SET_FLT_VALUE(regs[a], (mrb_float)x + y); - } - break; + { + mrb_int x = mrb_fixnum(regs[a]); + mrb_float y = mrb_float(regs[a+1]); + SET_FLT_VALUE(regs[a], (mrb_float)x + y); + } + break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FIXNUM): - OP_MATH_BODY(+,attr_f,attr_i); - break; + OP_MATH_BODY(+,attr_f,attr_i); + break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FLOAT): - OP_MATH_BODY(+,attr_f,attr_f); - break; + OP_MATH_BODY(+,attr_f,attr_f); + break; case TYPES2(MRB_TT_STRING,MRB_TT_STRING): - regs[a] = mrb_str_plus(mrb, regs[a], regs[a+1]); - break; + regs[a] = mrb_str_plus(mrb, regs[a], regs[a+1]); + break; default: - goto L_SEND; + goto L_SEND; } mrb_gc_arena_restore(mrb, ai); NEXT; @@ -1417,35 +1422,35 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) /* need to check if op is overridden */ switch (TYPES2(mrb_type(regs[a]),mrb_type(regs[a+1]))) { case TYPES2(MRB_TT_FIXNUM,MRB_TT_FIXNUM): - { - mrb_int x, y, z; - - x = mrb_fixnum(regs[a]); - y = mrb_fixnum(regs[a+1]); - z = x - y; - if (((x < 0) ^ (y < 0)) != 0 && (x < 0) != (z < 0)) { - /* integer overflow */ - SET_FLT_VALUE(regs[a], (mrb_float)x - (mrb_float)y); - break; - } - SET_INT_VALUE(regs[a], z); - } - break; + { + mrb_int x, y, z; + + x = mrb_fixnum(regs[a]); + y = mrb_fixnum(regs[a+1]); + z = x - y; + if (((x < 0) ^ (y < 0)) != 0 && (x < 0) != (z < 0)) { + /* integer overflow */ + SET_FLT_VALUE(regs[a], (mrb_float)x - (mrb_float)y); + break; + } + SET_INT_VALUE(regs[a], z); + } + break; case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT): - { - mrb_int x = mrb_fixnum(regs[a]); - mrb_float y = mrb_float(regs[a+1]); - SET_FLT_VALUE(regs[a], (mrb_float)x - y); - } - break; + { + mrb_int x = mrb_fixnum(regs[a]); + mrb_float y = mrb_float(regs[a+1]); + SET_FLT_VALUE(regs[a], (mrb_float)x - y); + } + break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FIXNUM): - OP_MATH_BODY(-,attr_f,attr_i); - break; + OP_MATH_BODY(-,attr_f,attr_i); + break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FLOAT): - OP_MATH_BODY(-,attr_f,attr_f); - break; + OP_MATH_BODY(-,attr_f,attr_f); + break; default: - goto L_SEND; + goto L_SEND; } NEXT; } @@ -1457,35 +1462,35 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) /* need to check if op is overridden */ switch (TYPES2(mrb_type(regs[a]),mrb_type(regs[a+1]))) { case TYPES2(MRB_TT_FIXNUM,MRB_TT_FIXNUM): - { - mrb_int x, y, z; - - x = mrb_fixnum(regs[a]); - y = mrb_fixnum(regs[a+1]); - z = x * y; - if (x != 0 && z/x != y) { - SET_FLT_VALUE(regs[a], (mrb_float)x * (mrb_float)y); - } - else { - SET_INT_VALUE(regs[a], z); - } - } - break; + { + mrb_int x, y, z; + + x = mrb_fixnum(regs[a]); + y = mrb_fixnum(regs[a+1]); + z = x * y; + if (x != 0 && z/x != y) { + SET_FLT_VALUE(regs[a], (mrb_float)x * (mrb_float)y); + } + else { + SET_INT_VALUE(regs[a], z); + } + } + break; case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT): - { - mrb_int x = mrb_fixnum(regs[a]); - mrb_float y = mrb_float(regs[a+1]); - SET_FLT_VALUE(regs[a], (mrb_float)x * y); - } - break; + { + mrb_int x = mrb_fixnum(regs[a]); + mrb_float y = mrb_float(regs[a+1]); + SET_FLT_VALUE(regs[a], (mrb_float)x * y); + } + break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FIXNUM): - OP_MATH_BODY(*,attr_f,attr_i); - break; + OP_MATH_BODY(*,attr_f,attr_i); + break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FLOAT): - OP_MATH_BODY(*,attr_f,attr_f); - break; + OP_MATH_BODY(*,attr_f,attr_f); + break; default: - goto L_SEND; + goto L_SEND; } NEXT; } @@ -1497,27 +1502,27 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) /* need to check if op is overridden */ switch (TYPES2(mrb_type(regs[a]),mrb_type(regs[a+1]))) { case TYPES2(MRB_TT_FIXNUM,MRB_TT_FIXNUM): - { - mrb_int x = mrb_fixnum(regs[a]); - mrb_int y = mrb_fixnum(regs[a+1]); - SET_FLT_VALUE(regs[a], (mrb_float)x / (mrb_float)y); - } - break; + { + mrb_int x = mrb_fixnum(regs[a]); + mrb_int y = mrb_fixnum(regs[a+1]); + SET_FLT_VALUE(regs[a], (mrb_float)x / (mrb_float)y); + } + break; case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT): - { - mrb_int x = mrb_fixnum(regs[a]); - mrb_float y = mrb_float(regs[a+1]); - SET_FLT_VALUE(regs[a], (mrb_float)x / y); - } - break; + { + mrb_int x = mrb_fixnum(regs[a]); + mrb_float y = mrb_float(regs[a+1]); + SET_FLT_VALUE(regs[a], (mrb_float)x / y); + } + break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FIXNUM): - OP_MATH_BODY(/,attr_f,attr_i); - break; + OP_MATH_BODY(/,attr_f,attr_i); + break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FLOAT): - OP_MATH_BODY(/,attr_f,attr_f); - break; + OP_MATH_BODY(/,attr_f,attr_f); + break; default: - goto L_SEND; + goto L_SEND; } NEXT; } @@ -1529,18 +1534,18 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) /* need to check if + is overridden */ switch (mrb_type(regs[a])) { case MRB_TT_FIXNUM: - { - mrb_int x = regs[a].attr_i; - mrb_int y = GETARG_C(i); - mrb_int z = x + y; - - if (((x < 0) ^ (y < 0)) == 0 && (x < 0) != (z < 0)) { - /* integer overflow */ - SET_FLT_VALUE(regs[a], (mrb_float)x + (mrb_float)y); - break; - } - regs[a].attr_i = z; - } + { + mrb_int x = regs[a].attr_i; + mrb_int y = GETARG_C(i); + mrb_int z = x + y; + + if (((x < 0) ^ (y < 0)) == 0 && (x < 0) != (z < 0)) { + /* integer overflow */ + SET_FLT_VALUE(regs[a], (mrb_float)x + (mrb_float)y); + break; + } + regs[a].attr_i = z; + } break; case MRB_TT_FLOAT: regs[a].attr_f += GETARG_C(i); @@ -1560,18 +1565,18 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) /* need to check if + is overridden */ switch (mrb_type(regs[a])) { case MRB_TT_FIXNUM: - { - mrb_int x = regs[a].attr_i; - mrb_int y = GETARG_C(i); - mrb_int z = x - y; - - if (((x < 0) ^ (y < 0)) != 0 && (x < 0) != (z < 0)) { - /* integer overflow */ - SET_FLT_VALUE(regs[a], (mrb_float)x - (mrb_float)y); - break; - } - regs[a].attr_i = z; - } + { + mrb_int x = regs[a].attr_i; + mrb_int y = GETARG_C(i); + mrb_int z = x - y; + + if (((x < 0) ^ (y < 0)) != 0 && (x < 0) != (z < 0)) { + /* integer overflow */ + SET_FLT_VALUE(regs[a], (mrb_float)x - (mrb_float)y); + break; + } + regs[a].attr_i = z; + } break; case MRB_TT_FLOAT: regs[a].attr_f -= GETARG_C(i); @@ -1618,10 +1623,10 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) /* A B C R(A) := R(A)<R(A+1) (Syms[B]=:<,C=1)*/ int a = GETARG_A(i); if (mrb_obj_eq(mrb, regs[a], regs[a+1])) { - SET_TRUE_VALUE(regs[a]); + SET_TRUE_VALUE(regs[a]); } else { - OP_CMP(==); + OP_CMP(==); } NEXT; } @@ -1686,7 +1691,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) } } else { - regs[GETARG_A(i)] = mrb_ary_ref(mrb, v, c); + regs[GETARG_A(i)] = mrb_ary_ref(mrb, v, c); } NEXT; } @@ -1719,13 +1724,13 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) if (len > pre + post) { regs[a++] = mrb_ary_new_elts(mrb, len - pre - post, ary->ptr+pre); while (post--) { - regs[a++] = ary->ptr[len-post-1]; + regs[a++] = ary->ptr[len-post-1]; } } else { - regs[a++] = mrb_ary_new_capa(mrb, 0); + regs[a++] = mrb_ary_new_capa(mrb, 0); for (i=0; i+pre<len; i++) { - regs[a+i] = ary->ptr[pre+i]; + regs[a+i] = ary->ptr[pre+i]; } while (i < post) { SET_NIL_VALUE(regs[a+i]); @@ -1816,7 +1821,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) base = regs[a]; if (mrb_nil_p(base)) { - base = mrb_obj_value(mrb->ci->target_class); + base = mrb_obj_value(mrb->ci->target_class); } c = mrb_vm_define_module(mrb, base, id); regs[a] = mrb_obj_value(c); @@ -1861,7 +1866,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) pool = irep->pool; syms = irep->syms; stack_extend(mrb, irep->nregs, 1); - ci->nregs = irep->nregs; + ci->nregs = irep->nregs; regs = mrb->stack; pc = irep->iseq; JUMP; @@ -1919,15 +1924,15 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) /* stop VM */ L_STOP: { - int n = mrb->ci->eidx; + int n = mrb->ci->eidx; - while (n--) { - ecall(mrb, n); - } + while (n--) { + ecall(mrb, n); + } } mrb->jmp = prev_jmp; if (mrb->exc) { - return mrb_obj_value(mrb->exc); + return mrb_obj_value(mrb->exc); } return regs[irep->nlocals]; } @@ -1938,10 +1943,10 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) mrb_value exc; if (GETARG_A(i) == 0) { - exc = mrb_exc_new3(mrb, E_RUNTIME_ERROR, msg); + exc = mrb_exc_new3(mrb, E_RUNTIME_ERROR, msg); } else { - exc = mrb_exc_new3(mrb, E_LOCALJUMP_ERROR, msg); + exc = mrb_exc_new3(mrb, E_LOCALJUMP_ERROR, msg); } mrb->exc = (struct RObject*)mrb_object(exc); goto L_RAISE; diff --git a/tasks/mrbgems_test.rake b/tasks/mrbgems_test.rake index 6d40d092a..6ca5eaef2 100644 --- a/tasks/mrbgems_test.rake +++ b/tasks/mrbgems_test.rake @@ -18,7 +18,11 @@ MRuby.each_target do f.puts %Q[void GENERATED_TMP_mrb_#{g.funcname}_gem_test(mrb_state *mrb) {] unless g.test_rbfiles.empty? f.puts %Q[ mrb_state *mrb2;] - f.puts %Q[ mrb_value val1, val2, ary1, ary2, test_args_hash;] + if g.test_args.empty? + f.puts %Q[ mrb_value val1, val2, ary1, ary2;] + else + f.puts %Q[ mrb_value val1, val2, ary1, ary2, test_args_hash;] + end f.puts %Q[ int ai;] g.test_rbfiles.count.times do |i| f.puts %Q[ ai = mrb_gc_arena_save(mrb);] diff --git a/tasks/mruby_build.rake b/tasks/mruby_build.rake index 4d28b1d95..812e861a7 100644 --- a/tasks/mruby_build.rake +++ b/tasks/mruby_build.rake @@ -163,7 +163,7 @@ module MRuby def run_test puts ">>> Test #{name} <<<" mrbtest = exefile("#{build_dir}/test/mrbtest") - sh "#{filename mrbtest.relative_path}" + sh "#{filename mrbtest.relative_path}#{$verbose ? ' -v' : ''}" puts end diff --git a/test/assert.rb b/test/assert.rb index 027d2a66f..ff60ec59a 100644 --- a/test/assert.rb +++ b/test/assert.rb @@ -41,9 +41,14 @@ def assert(str = 'Assertion failed', iso = '') print('.') end rescue Exception => e - $asserts.push(assertion_string('Error: ', str, iso, e)) - $kill_test += 1 - print('X') + if e.class.to_s == 'MRubyTestSkip' + $asserts.push "Skip: #{str} #{iso} #{e.cause}" + print('?') + else + $asserts.push(assertion_string('Error: ', str, iso, e)) + $kill_test += 1 + print('X') + end ensure $mrbtest_assert = nil end @@ -87,6 +92,7 @@ def assert_include(collection, obj, msg = nil) end def assert_raise(*exp) + ret = true if $mrbtest_assert $mrbtest_assert_idx += 1 msg = exp.last.class == String ? exp.pop : nil @@ -99,8 +105,9 @@ def assert_raise(*exp) msg = "#{msg}#{exp.inspect} exception expected, not" diff = " Class: <#{e.class}>\n" + " Message: #{e.message}" - if exp.any?{|ex| ex.instance_of?(Module) ? e.kind_of?(ex) : ex == e.class } + if not exp.any?{|ex| ex.instance_of?(Module) ? e.kind_of?(ex) : ex == e.class } $mrbtest_assert.push([$mrbtest_assert_idx, msg, diff]) + ret = false end end @@ -108,8 +115,10 @@ def assert_raise(*exp) if should_raise msg = "#{msg}#{exp.inspect} expected but nothing was raised." $mrbtest_assert.push([$mrbtest_assert_idx, msg, nil]) + ret = false end end + ret end ## @@ -146,9 +155,8 @@ end ## # Performs fuzzy check for equality on methods returning floats -# on the basis of the Math::TOLERANCE constant. def check_float(a, b) - tolerance = Math::TOLERANCE + tolerance = 1e-12 a = a.to_f b = b.to_f if a.finite? and b.finite? @@ -157,3 +165,16 @@ def check_float(a, b) true end end + +## +# Skip the test +class MRubyTestSkip < NotImplementedError + attr_accessor :cause + def initialize(cause) + @cause = cause + end +end + +def skip(cause = "") + raise MRubyTestSkip.new(cause) +end diff --git a/test/t/exception.rb b/test/t/exception.rb index 663c8f337..7ecc51fa8 100644 --- a/test/t/exception.rb +++ b/test/t/exception.rb @@ -321,19 +321,19 @@ end # very deeply recursive function that stil returns albeit very deeply so $test_infinite_recursion = 0 -TEST_INFINITE_RECURSION_MAX = 100000 +TEST_INFINITE_RECURSION_MAX = 1000000 def test_infinite_recursion $test_infinite_recursion += 1 if $test_infinite_recursion > TEST_INFINITE_RECURSION_MAX - return $test_infinite_recursion + return $test_infinite_recursion end - test_infinite_recursion + test_infinite_recursion end assert('Infinite recursion should result in an exception being raised') do - a = begin + a = begin test_infinite_recursion - rescue + rescue :ok end # OK if an exception was caught, otherwise a number will be stored in a diff --git a/test/t/math.rb b/test/t/math.rb deleted file mode 100644 index 780b805d2..000000000 --- a/test/t/math.rb +++ /dev/null @@ -1,125 +0,0 @@ -## -# Math Test - -if Object.const_defined?(:Math) - assert('Math.sin 0') do - check_float(Math.sin(0), 0) - end - - assert('Math.sin PI/2') do - check_float(Math.sin(Math::PI / 2), 1) - end - - assert('Fundamental trig identities') do - result = true - N = 13 - N.times do |i| - a = Math::PI / N * i - ca = Math::PI / 2 - a - s = Math.sin(a) - c = Math.cos(a) - t = Math.tan(a) - result &= check_float(s, Math.cos(ca)) - result &= check_float(t, 1 / Math.tan(ca)) - result &= check_float(s ** 2 + c ** 2, 1) - result &= check_float(t ** 2 + 1, (1/c) ** 2) - result &= check_float((1/t) ** 2 + 1, (1/s) ** 2) - end - result - end - - assert('Math.erf 0') do - check_float(Math.erf(0), 0) - end - - assert('Math.exp 0') do - check_float(Math.exp(0), 1.0) - end - - assert('Math.exp 1') do - check_float(Math.exp(1), 2.718281828459045) - end - - assert('Math.exp 1.5') do - check_float(Math.exp(1.5), 4.4816890703380645) - end - - assert('Math.log 1') do - check_float(Math.log(1), 0) - end - - assert('Math.log E') do - check_float(Math.log(Math::E), 1.0) - end - - assert('Math.log E**3') do - check_float(Math.log(Math::E**3), 3.0) - end - - assert('Math.log2 1') do - check_float(Math.log2(1), 0.0) - end - - assert('Math.log2 2') do - check_float(Math.log2(2), 1.0) - end - - assert('Math.log10 1') do - check_float(Math.log10(1), 0.0) - end - - assert('Math.log10 10') do - check_float(Math.log10(10), 1.0) - end - - assert('Math.log10 10**100') do - check_float(Math.log10(10**100), 100.0) - end - - assert('Math.sqrt') do - num = [0.0, 1.0, 2.0, 3.0, 4.0] - sqr = [0, 1, 4, 9, 16] - result = true - sqr.each_with_index do |v,i| - result &= check_float(Math.sqrt(v), num[i]) - end - result - end - - assert('Math.cbrt') do - num = [-2.0, -1.0, 0.0, 1.0, 2.0] - cub = [-8, -1, 0, 1, 8] - result = true - cub.each_with_index do |v,i| - result &= check_float(Math.cbrt(v), num[i]) - end - result - end - - assert('Math.hypot') do - check_float(Math.hypot(3, 4), 5.0) - end - - assert('Math.frexp 1234') do - n = 1234 - fraction, exponent = Math.frexp(n) - check_float(Math.ldexp(fraction, exponent), n) - end - - assert('Math.erf 1') do - check_float(Math.erf(1), 0.842700792949715) - end - - assert('Math.erfc 1') do - check_float(Math.erfc(1), 0.157299207050285) - end - - assert('Math.erf -1') do - check_float(Math.erf(-1), -0.8427007929497148) - end - - assert('Math.erfc -1') do - check_float(Math.erfc(-1), 1.8427007929497148) - end -end - |
