1 /* $NetBSD: lctype.c,v 1.8 2023/04/16 20:46:17 nikita Exp $ */ 2 3 /* 4 ** Id: lctype.c 5 ** 'ctype' functions for Lua 6 ** See Copyright Notice in lua.h 7 */ 8 9 #define lctype_c 10 #define LUA_CORE 11 12 #include "lprefix.h" 13 14 15 #include "lctype.h" 16 17 #if !LUA_USE_CTYPE /* { */ 18 19 #ifndef _KERNEL 20 #include <limits.h> 21 #endif /* _KERNEL */ 22 23 24 #if defined (LUA_UCID) /* accept UniCode IDentifiers? */ 25 /* consider all non-ascii codepoints to be alphabetic */ 26 #define NONA 0x01 27 #else 28 #define NONA 0x00 /* default */ 29 #endif 30 31 32 LUAI_DDEF const lu_byte luai_ctype_[UCHAR_MAX + 2] = { 33 0x00, /* EOZ */ 34 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0. */ 35 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 36 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 1. */ 37 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 38 0x0c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, /* 2. */ 39 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 40 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /* 3. */ 41 0x16, 0x16, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 42 0x04, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x05, /* 4. */ 43 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 44 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, /* 5. */ 45 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x05, 46 0x04, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x05, /* 6. */ 47 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 48 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, /* 7. */ 49 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x00, 50 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* 8. */ 51 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 52 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* 9. */ 53 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 54 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* a. */ 55 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 56 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* b. */ 57 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 58 0x00, 0x00, NONA, NONA, NONA, NONA, NONA, NONA, /* c. */ 59 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 60 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* d. */ 61 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 62 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* e. */ 63 NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 64 NONA, NONA, NONA, NONA, NONA, 0x00, 0x00, 0x00, /* f. */ 65 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 66 }; 67 68 #endif /* } */ 69