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

Lua :Download

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

找到如下内容

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

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 ')'

最新文章

  1. 获取用户SID
  2. Silverlight5 Tools安装失败及解决方案
  3. java 在linux环境下写入 syslog 问题研究
  4. winform程序自动升级
  5. 。。。contentType与pageEncoding的区别。。。
  6. Java基础(52):ClassCastException详解(转)
  7. css3干货
  8. Windows Azure使用必读(转)
  9. 如何判断一个js对象是不是Array
  10. fastdb中的位图应用
  11. JqGrid 使用方法详解
  12. jquery 资料收集
  13. web端表格测试用例
  14. webpack学习最基本的使用方式(一)
  15. java-设计模式-索引
  16. django-CRM-项目部署
  17. android开发(25) - 推送的实现,使用百度云推送
  18. RAC配置(启停库)
  19. 浅谈JavaScript框架设计
  20. ES6基本语法和一些面向对象的知识

热门文章

  1. C. Polycarp Restores Permutation
  2. 帮助小白,最新版JDK的安装与环境变量配置(Win 10系统)
  3. Nagios 系统监控
  4. Linux 安装软件之后设置PATH环境变量
  5. node学习: package.json
  6. Nginx三部曲(1)基础
  7. 你不知道的JavaScript——第一章:作用域是什么?
  8. javascript深入浅出——学习笔记(六种数据类型和隐式转换)
  9. re正则表达式-1
  10. python(Django之Logging、API认证)