怎么让 Lua 5.3.4 支持中文变量名和中文函数名

摘要:
*///修改TString*ts;do{if{//修改save_and_next;//修改if(ls-˃current!='('){//修改save_and_next;//修改}}while;//修改ts=luaX_newstring;seminfo-˃ts=ts;if/*reservedword?ps.这样修改也支持中文函数名,网上修改的方法function跑()运行会报错如下:lua:任务.lua:18:''

1. 在官网下载最新版Lua源码

Lua :Download

2. 解压后进入目录,找到/src/llex.c,打开修改

找到如下内容

怎么让 Lua 5.3.4 支持中文变量名和中文函数名第1张

修改为下面代码,并保存。

default: {
  if (lislalpha(ls->current)|| ls->current >= 0x80) {  /* identifier or reserved word? *///修改
    TString *ts;
    do {
      if (ls->current >= 0x80) {  //修改
        save_and_next(ls);  //修改
        if(ls->current !='('&&ls->current >=0x80)//修改
          save_and_next(ls);  //修改
      }
      else if(ls->current !='('){  //修改
        save_and_next(ls);  //修改
      } 
    } while (lislalnum(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;
  }
}

3. 编译

  • Mac OS X 系统
  cd lua-5.3.4 #进入lua目录
  make macosx test
  make install
  • Linux 系统
  cd lua-5.3.4
  make linux test
  make install
  • Win 系统可以用vs编译。

ps.这样修改也支持中文函数名,网上修改的方法 function 跑()运行会报错如下:

lua: 任务.lua:18: '(' expected near ')'

免责声明:文章转载自《怎么让 Lua 5.3.4 支持中文变量名和中文函数名》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇获取href连接并跳转Linux GTK编程示例下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Ubuntu下安装Latex [转]

Ubuntu下LaTex中文环境配置LaTeX是一个强大的排版软件,但是其最初只是为英文排版而设计的。第一步,安装基本的LaTeX环境:sudoapt-getinstalltexlive第二步,安装中文字体包。sudoapt-getinstalllatex-cjk-all至此,基本的配置就完成了。正常情况下,编译这个tex文件就能在文档中显示中文了。\doc...

k8s集群上删除pod及service

删除k8s集群中的pod:找到pod的名称空间,并根据名称空间删除pod1。首先删除pod2,然后删除相应的部署。否则,删除pod是无用的。您还将看到pod,因为deployment.yaml文件中定义的副本数如下:delete the pod[root@test2~]#kubectlgetpod-njenkinsNAMEREADYSTATUSRESTART...

关于WINFORM中输入法的设置

关于WINFORM(转移到)John Suna的专栏开发中输入方法的设置,它碰巧遇到了这种问题。网络真的很好:)这是文本集。感谢作者的辛勤工作给您带来的便利。在WINFORM中,我们经常遇到这样的问题:文本输入框中的输入法被禁用或总是更改为全宽输入法。查阅相关数据后,总结如下:(1)Control.ImeMode属性:获取或设置控件的输入方法编辑器模式。此模...

wifi密码暴力破解

转自:Python最新暴力破解WiFi,攻破所有密码限制,最强破解!...

element-ui表格el-table回显时默认全选数据

1、html代码˂el-table-columntype="selection"width="45"...

IDEA(MAC) 快捷键

从日食到IDEA;从Windows到MAC,我不习惯录制一些日常使用的快捷键。1.格式代码命令+alt+L2。导出包alt+entercontrol+alt+O3。自动生成此类型的对象命令+alt+V4。复制命令行+d5。上下移动一行代码shift+alt+上/下箭头6。上下移动代码Shift+Command+上下键6。生成foreacher7。生成列表遍历...