18e3e3a7aSWarner Losh /* 2*0495ed39SKyle Evans ** $Id: lctype.c $ 38e3e3a7aSWarner Losh ** 'ctype' functions for Lua 48e3e3a7aSWarner Losh ** See Copyright Notice in lua.h 58e3e3a7aSWarner Losh */ 68e3e3a7aSWarner Losh 78e3e3a7aSWarner Losh #define lctype_c 88e3e3a7aSWarner Losh #define LUA_CORE 98e3e3a7aSWarner Losh 108e3e3a7aSWarner Losh #include "lprefix.h" 118e3e3a7aSWarner Losh 128e3e3a7aSWarner Losh 138e3e3a7aSWarner Losh #include "lctype.h" 148e3e3a7aSWarner Losh 158e3e3a7aSWarner Losh #if !LUA_USE_CTYPE /* { */ 168e3e3a7aSWarner Losh 178e3e3a7aSWarner Losh #include <limits.h> 188e3e3a7aSWarner Losh 19*0495ed39SKyle Evans 20*0495ed39SKyle Evans #if defined (LUA_UCID) /* accept UniCode IDentifiers? */ 21*0495ed39SKyle Evans /* consider all non-ascii codepoints to be alphabetic */ 22*0495ed39SKyle Evans #define NONA 0x01 23*0495ed39SKyle Evans #else 24*0495ed39SKyle Evans #define NONA 0x00 /* default */ 25*0495ed39SKyle Evans #endif 26*0495ed39SKyle Evans 27*0495ed39SKyle Evans 288e3e3a7aSWarner Losh LUAI_DDEF const lu_byte luai_ctype_[UCHAR_MAX + 2] = { 298e3e3a7aSWarner Losh 0x00, /* EOZ */ 308e3e3a7aSWarner Losh 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0. */ 318e3e3a7aSWarner Losh 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 328e3e3a7aSWarner Losh 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 1. */ 338e3e3a7aSWarner Losh 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 348e3e3a7aSWarner Losh 0x0c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, /* 2. */ 358e3e3a7aSWarner Losh 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 368e3e3a7aSWarner Losh 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /* 3. */ 378e3e3a7aSWarner Losh 0x16, 0x16, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 388e3e3a7aSWarner Losh 0x04, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x05, /* 4. */ 398e3e3a7aSWarner Losh 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 408e3e3a7aSWarner Losh 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, /* 5. */ 418e3e3a7aSWarner Losh 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x05, 428e3e3a7aSWarner Losh 0x04, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x05, /* 6. */ 438e3e3a7aSWarner Losh 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 448e3e3a7aSWarner Losh 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, /* 7. */ 458e3e3a7aSWarner Losh 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x00, 46*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* 8. */ 47*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 48*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* 9. */ 49*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 50*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* a. */ 51*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 52*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* b. */ 53*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 54*0495ed39SKyle Evans 0x00, 0x00, NONA, NONA, NONA, NONA, NONA, NONA, /* c. */ 55*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 56*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* d. */ 57*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 58*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* e. */ 59*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 60*0495ed39SKyle Evans NONA, NONA, NONA, NONA, NONA, 0x00, 0x00, 0x00, /* f. */ 61*0495ed39SKyle Evans 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 628e3e3a7aSWarner Losh }; 638e3e3a7aSWarner Losh 648e3e3a7aSWarner Losh #endif /* } */ 65