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