lctype.c revision 1.8
1112177Stjr/* $NetBSD: lctype.c,v 1.8 2023/04/16 20:46:17 nikita Exp $ */ 2103339Stjr 3103339Stjr/* 4103339Stjr** Id: lctype.c 5103339Stjr** 'ctype' functions for Lua 6103339Stjr** See Copyright Notice in lua.h 7103339Stjr*/ 8103339Stjr 9103339Stjr#define lctype_c 10103339Stjr#define LUA_CORE 11103339Stjr 12103339Stjr#include "lprefix.h" 13103339Stjr 14103339Stjr 15103339Stjr#include "lctype.h" 16103339Stjr 17103339Stjr#if !LUA_USE_CTYPE /* { */ 18103339Stjr 19103339Stjr#ifndef _KERNEL 20103339Stjr#include <limits.h> 21103339Stjr#endif /* _KERNEL */ 22103339Stjr 23103339Stjr 24103339Stjr#if defined (LUA_UCID) /* accept UniCode IDentifiers? */ 25103339Stjr/* consider all non-ascii codepoints to be alphabetic */ 26103339Stjr#define NONA 0x01 27112177Stjr#else 28103339Stjr#define NONA 0x00 /* default */ 29103339Stjr#endif 30103339Stjr 31112177Stjr 32112177StjrLUAI_DDEF const lu_byte luai_ctype_[UCHAR_MAX + 2] = { 33112177Stjr 0x00, /* EOZ */ 34115225Sru 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0. */ 35115225Sru 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 36115225Sru 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 1. */ 37115225Sru 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 38103339Stjr 0x0c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, /* 2. */ 39103339Stjr 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 40103339Stjr 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /* 3. */ 41103339Stjr 0x16, 0x16, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 42112177Stjr 0x04, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x05, /* 4. */ 43112177Stjr 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 44115225Sru 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, /* 5. */ 45112177Stjr 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x05, 46103339Stjr 0x04, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x05, /* 6. */ 47103339Stjr 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 48103339Stjr 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, /* 7. */ 49103339Stjr 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x00, 50112177Stjr NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* 8. */ 51103339Stjr NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 52112177Stjr NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* 9. */ 53112177Stjr NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 54112177Stjr NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* a. */ 55112177Stjr NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 56103339Stjr NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* b. */ 57112177Stjr NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 58112177Stjr 0x00, 0x00, NONA, NONA, NONA, NONA, NONA, NONA, /* c. */ 59115225Sru NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 60103339Stjr NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* d. */ 61103339Stjr NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 62103339Stjr NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, /* e. */ 63103339Stjr NONA, NONA, NONA, NONA, NONA, NONA, NONA, NONA, 64112177Stjr NONA, NONA, NONA, NONA, NONA, 0x00, 0x00, 0x00, /* f. */ 65115225Sru 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 66103339Stjr}; 67103339Stjr 68112177Stjr#endif /* } */ 69103339Stjr