Luaplus5.3.3中文支持修改

来源:互联网 发布:unity3d 粒子系统消失 编辑:程序博客网 时间:2024/05/10 00:18
方法一./*中文支持llex.cstatic int llex (LexState *ls, SemInfo *seminfo)修改如下:*/      default: {        if (lislalpha(ls->current) || ls->current == '_' || ls->current > 0x80) {  /* identifier or reserved word? */          TString *ts;          do {              if (ls->current > 0x80)              {                  save_and_next(ls);                  save_and_next(ls);              }              else              {                  save_and_next(ls);              }          } while (lislalnum(ls->current) || ls->current == '_' || ls->current > 0x80);          ts = luaX_newstring(ls, luaZ_buffer(ls->buff),                                  luaZ_bufflen(ls->buff));          seminfo->ts = ts;          if (isreserved(ts))  /* reserved word? */            return ts->extra - 1 + FIRST_RESERVED;          else {            return TK_NAME;          }        }        else {  /* single-char tokens (+ - / ...) */          int c = ls->current;          next(ls);          return c;        }      }/*-----------------------------------------------------------------------------*//*源代码*/        default: {        if (lislalpha(ls->current)) {  /* identifier or reserved word? */          TString *ts;          do {            save_and_next(ls);          } while (lislalnum(ls->current));          ts = luaX_newstring(ls, luaZ_buffer(ls->buff),                                  luaZ_bufflen(ls->buff));          seminfo->ts = ts;          if (isreserved(ts))  /* reserved word? */            return ts->extra - 1 + FIRST_RESERVED;          else {            return TK_NAME;          }        }        else {  /* single-char tokens (+ - / ...) */          int c = ls->current;          next(ls);          return c;        }      }方法二./* lctype.c */把8至B行和E行全部修改为0x01或者0x05可以让 Lua 认为汉字是可打印的)/*** $Id: lctype.c,v 1.12 2014/11/02 19:19:04 roberto Exp $** 'ctype' functions for Lua** See Copyright Notice in lua.h*/#define lctype_c#define LUA_CORE#include "lprefix.h"#include "lctype.h"#if !LUA_USE_CTYPE    /* { */#include LUAI_DDEF const lu_byte luai_ctype_[UCHAR_MAX + 2] = {  0x00,  /* EOZ */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* 0. */  0x00,  0x08,  0x08,  0x08,  0x08,  0x08,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* 1. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x0c,  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,    /* 2. */  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,  0x16,  0x16,  0x16,  0x16,  0x16,  0x16,  0x16,  0x16,    /* 3. */  0x16,  0x16,  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,  0x15,  0x15,  0x15,  0x15,  0x15,  0x15,  0x05,    /* 4. */  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,    /* 5. */  0x05,  0x05,  0x05,  0x04,  0x04,  0x04,  0x04,  0x05,  0x04,  0x15,  0x15,  0x15,  0x15,  0x15,  0x15,  0x05,    /* 6. */  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,    /* 7. */  0x05,  0x05,  0x05,  0x04,  0x04,  0x04,  0x04,  0x00,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,    /* 8. */  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,    /* 9. */  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,    /* a. */  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,    /* b. */  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* c. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* d. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,    /* e. */  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* f. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,};#endif            /* } *//*源代码*//*** $Id: lctype.c,v 1.12 2014/11/02 19:19:04 roberto Exp $** 'ctype' functions for Lua** See Copyright Notice in lua.h*/#define lctype_c#define LUA_CORE#include "lprefix.h"#include "lctype.h"#if !LUA_USE_CTYPE    /* { */#include LUAI_DDEF const lu_byte luai_ctype_[UCHAR_MAX + 2] = {  0x00,  /* EOZ */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* 0. */  0x00,  0x08,  0x08,  0x08,  0x08,  0x08,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* 1. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x0c,  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,    /* 2. */  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,  0x16,  0x16,  0x16,  0x16,  0x16,  0x16,  0x16,  0x16,    /* 3. */  0x16,  0x16,  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,  0x04,  0x15,  0x15,  0x15,  0x15,  0x15,  0x15,  0x05,    /* 4. */  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,    /* 5. */  0x05,  0x05,  0x05,  0x04,  0x04,  0x04,  0x04,  0x05,  0x04,  0x15,  0x15,  0x15,  0x15,  0x15,  0x15,  0x05,    /* 6. */  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,  0x05,    /* 7. */  0x05,  0x05,  0x05,  0x04,  0x04,  0x04,  0x04,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* 8. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* 9. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* a. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* b. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* c. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* d. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* e. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,    /* f. */  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,};#endif            /* } */
原创粉丝点击