| 1 | /* | 
|---|
| 2 | ** Character types. | 
|---|
| 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 | ** This table is hardcoded for ASCII. Identifiers include the characters | 
|---|
| 11 | ** 128-255, too. This allows for the use of all non-ASCII chars as identifiers | 
|---|
| 12 | ** in the lexer. This is a broad definition, but works well in practice | 
|---|
| 13 | ** for both UTF-8 locales and most single-byte locales (such as ISO-8859-*). | 
|---|
| 14 | ** | 
|---|
| 15 | ** If you really need proper character types for UTF-8 strings, please use | 
|---|
| 16 | ** an add-on library such as slnunicode: http://luaforge.net/projects/sln/ | 
|---|
| 17 | */ | 
|---|
| 18 |  | 
|---|
| 19 | #define lj_char_c | 
|---|
| 20 | #define LUA_CORE | 
|---|
| 21 |  | 
|---|
| 22 | #include "lj_char.h" | 
|---|
| 23 |  | 
|---|
| 24 | LJ_DATADEF const uint8_t lj_char_bits[257] = { | 
|---|
| 25 | 0, | 
|---|
| 26 | 1,  1,  1,  1,  1,  1,  1,  1,  1,  3,  3,  3,  3,  3,  1,  1, | 
|---|
| 27 | 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, | 
|---|
| 28 | 2,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, | 
|---|
| 29 | 152,152,152,152,152,152,152,152,152,152,  4,  4,  4,  4,  4,  4, | 
|---|
| 30 | 4,176,176,176,176,176,176,160,160,160,160,160,160,160,160,160, | 
|---|
| 31 | 160,160,160,160,160,160,160,160,160,160,160,  4,  4,  4,  4,132, | 
|---|
| 32 | 4,208,208,208,208,208,208,192,192,192,192,192,192,192,192,192, | 
|---|
| 33 | 192,192,192,192,192,192,192,192,192,192,192,  4,  4,  4,  4,  1, | 
|---|
| 34 | 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, | 
|---|
| 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 | }; | 
|---|
| 43 |  | 
|---|
| 44 |  | 
|---|