aboutsummaryrefslogtreecommitdiff
path: root/src/lj_ctype.c
diff options
context:
space:
mode:
authorMike Pall <mike>2009-12-08 19:46:35 +0100
committerMike Pall <mike>2009-12-08 19:46:35 +0100
commit55b16959717084884fd4a0cbae6d19e3786c20c7 (patch)
treec8a07a43c13679751ed25a9d06796e9e7b2134a6 /src/lj_ctype.c
downloadluajit-d07df26407484c47d7c0ae7d2678489b1b5d4cc0.tar.gz
luajit-d07df26407484c47d7c0ae7d2678489b1b5d4cc0.tar.bz2
luajit-d07df26407484c47d7c0ae7d2678489b1b5d4cc0.zip
RELEASE LuaJIT-2.0.0-beta1v2.0.0-beta1
Diffstat (limited to 'src/lj_ctype.c')
-rw-r--r--src/lj_ctype.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/lj_ctype.c b/src/lj_ctype.c
new file mode 100644
index 00000000..9f19b879
--- /dev/null
+++ b/src/lj_ctype.c
@@ -0,0 +1,44 @@
1/*
2** Internal CTYPE replacement.
3** Donated to the public domain.
4**
5** This is intended to replace the problematic libc single-byte NLS functions.
6** These just don't make sense anymore with UTF-8 locales becoming the norm
7** on POSIX systems. It never worked too well on Windows systems since hardly
8** anyone bothered to call setlocale().
9**
10** Instead this table is hardcoded for ASCII, except for identifiers. These
11** include the characters 128-255, too. This allows for the use of all
12** non-ASCII chars as identifiers in the lexer. This is a broad definition,
13** but works well in practice for both UTF-8 locales and most single-byte
14** locales (such as ISO-8859-*).
15**
16** If you really need proper ctypes for UTF-8 strings, please use an add-on
17** library such as slnunicode: http://luaforge.net/projects/sln/
18*/
19
20#define lj_ctype_c
21#define LUA_CORE
22
23#include "lj_ctype.h"
24
25LJ_DATADEF const uint8_t lj_ctype_bits[257] = {
26 0,
27 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 1, 1,
28 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
29 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
30 152,152,152,152,152,152,152,152,152,152, 4, 4, 4, 4, 4, 4,
31 4,176,176,176,176,176,176,160,160,160,160,160,160,160,160,160,
32 160,160,160,160,160,160,160,160,160,160,160, 4, 4, 4, 4,132,
33 4,208,208,208,208,208,208,192,192,192,192,192,192,192,192,192,
34 192,192,192,192,192,192,192,192,192,192,192, 4, 4, 4, 4, 1,
35 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
36 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
37 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
38 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
39 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
40 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
41 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
42 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128
43};
44