xref: /netbsd-src/external/mit/lua/dist/src/lctype.c (revision f0dad708b37bd6f5048a66ff2d48c1453845f039)
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