修改 Lua支持中文变量名
static int llex (LexState *ls, SemInfo *seminfo)
else if (isalpha(ls->current) || ls->current == '_') {
. /* identifier or reserved word */
. TString *ts;
. if (ls->current == 'L') {
. next(ls);
. if (ls->current == '"' || ls->current == '/'') {
. read_wstring(ls, ls->current, seminfo);
. return TK_WSTRING;
. }
. save(ls, 'L');
. }
. /* identifier or reserved word */
. do {
. save_and_next(ls);
. } while (isalnum(ls->current) || ls->current == '_');
. ts = luaX_newstring(ls, luaZ_buffer(ls->buff),
. luaZ_bufflen(ls->buff));
. if (ts->tsv.reserved > ) /* reserved word? */
. return ts->tsv.reserved - + FIRST_RESERVED;
. else {
. seminfo->ts = ts;
. return TK_NAME;
. }
. }
5. 将该段替换为下面这一段即可,其作用在于加入了对中文ASCII字符的识别
else if (isalpha(ls->current) || ls->current == '_' || ls->current > 0x80) {
. /* identifier or reserved word */
. TString *ts;
. if (ls->current == 'L') {
. next(ls);
. if (ls->current == '"' || ls->current == '/'') {
. read_wstring(ls, ls->current, seminfo);
. return TK_WSTRING;
. }
. save(ls, 'L');
. }
. /* identifier or reserved word */
. do {
. if(ls->current > 0x80)
. {
. save_and_next(ls);
. save_and_next(ls);
. }
. else
. save_and_next(ls);
. } while (isalnum(ls->current) || ls->current == '_' || ls->current > 0x80);
. ts = luaX_newstring(ls, luaZ_buffer(ls->buff),
. luaZ_bufflen(ls->buff));
. if (ts->tsv.reserved > ) /* reserved word? */
. return ts->tsv.reserved - + FIRST_RESERVED;
. else {
. seminfo->ts = ts;
. return TK_NAME;
. }
. }
修改 Lua支持中文变量名的更多相关文章
- 怎么让 Lua 5.3.4 支持中文变量名和中文函数名
1. 在官网下载最新版Lua源码 Lua :Download 2. 解压后进入目录,找到/src/llex.c,打开修改 找到如下内容 修改为下面代码,并保存. default: { if (lisl ...
- 醒醒!Python已经支持中文变量名啦!
最近,我在翻阅两本比较新的 Python 书籍时,发现它们都犯了一个严重的低级错误! 这两本书分别是<Python编程:从入门到实践>和<父与子的编程之旅>,它们都是畅销书,都 ...
- 给 C# Expression Evaluator 增加中文变量名支持
由于一些特殊的原因,我的Expression里面需要支持中文变量名,但是C# Expression Evaluator会提示错误,在他的HelperMethods.IsAlpha()里面加上这么一段就 ...
- pycharm修改代码模板支持中文输出
python2.x默认不支持中文输出,需要在py的开头添加 #coding: utf- 在pycharm里面,选项,editor,file and code templates,选择python sc ...
- oracle 修改字符集支持中文
1.登录sys关闭服务 [oracle@t-e ~]$ export ORACLE_SID=kamiltest1 [oracle@t-e ~]$ sqlplus / as sysdba SQL> ...
- 【python】python支持中文变量,醉了
哈哈 = 1 呜呜 = -1 哈哈 + 呜呜 = 0
- java中的中文变量和方法
在网上看到java居然支持中文变量名.方法.这里我只试了变量名和方法,类名这些没有试....真是给力 package com.gxf.fun; public class TestForChinese ...
- python趣味——与MS系列编译器一样强大的Unicode变量名支持
中文变量名,中文函数名,中文类名等,可惜Python2不支持,但在Python3时代,这些都可以完美支持了. def 中文函数(): return 1
- wingIDE设置支持中文注释
用wingIDE快2年了,实在是受不了不支持中文,每次中文都报错,一个小逗号也要查很久,别说中文注释了,在网上找解决办法,原来这么简单! 下面,把破解放大和支持中文支持的方法备份下来,以便以后查看. ...
随机推荐
- PHP.18-图片等比例缩放
图片等比例缩放 自定义函数ImageUpdateSize($pricname, $maxx, $maxy, $pre) 1.$pricname:被缩放的图片源(路径):2.$maxx,$maxy:缩放 ...
- python模块struct和subprocess
准确地讲,Python没有专门处理字节的数据类型.但由于str既是字符串,又可以表示字节,所以,字节数组=str.而在C语言中,我们可以很方便地用struct.union来处理字节,以及字节和int, ...
- [bzoj3371][poj2009][Usaco2004 Mar]Moo University - Emergency Pizza Order 定制比萨饼
标题这么长的..真是让感觉人头大脚轻. 贴题面先. Description Moo大学的餐厅必须为$C(1\leq C\leq 1000)$头入学的奶牛新生定制比萨饼.比萨饼可以在比萨小屋订做 ...
- oracle(sql)基础篇系列(三)——数据维护语句、数据定义语句、伪列
DML语句 insert 向表中插入新的记录 --三种插入方式 --(1)不写字段的名字,直接按照字段的顺序把值逐个往里插 insert into dept2 values(50,'DANAME',' ...
- WIN8、WIN7访问Windows Server 2003服务器的数据库速度很慢、远程速度很慢的解决方法
原因是微软在WIN7开始上加入了网络速度限制.在控制台执行以下命令即可解决: netsh interface tcp set global autotuninglevel=disabled
- 《Cracking the Coding Interview》——第1章:数组和字符串——题目5
2014-03-18 01:40 题目:对字符串进行类似游程编码的压缩,如果压缩完了长度更长,则返回不压缩的结果.比如:aabcccccaaa->a2b1c5a3,abc->abc. 解法 ...
- day04_07-三个函数的区别
<?php $link = @mysql_connect('localhost','root',''); mysql_query('use test',$link); mysql_query(' ...
- (总结)统计Apache或Nginx访问日志里的独立IP访问数量的Shell
1.把IP数量直接输出显示:cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l 2.把IP数量输出到文本显示:cat acces ...
- PHP异常处理类(文件上传提示)
知识点: 大部分时候我们的代码总有各种各样的bug,新手程序员(比如我)最经常的工作就是不停的报错和echo变量,一个好的异常处理类可以帮我们更快+更容易理解报错代码的问题,同时,异常处理还可以避免一 ...
- hdu 1564 Play a game (博弈)
Play a game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...