gpt4 book ai didi

c - 向 lua 5.2 源添加可选的 "global"关键字

转载 作者:太空宇宙 更新时间:2023-11-04 04:14:28 24 4
gpt4 key购买 nike

我想修改 lua 5.2 源代码以允许在全局变量声明之前使用可选的“global”关键字。有没有人这样做过或者有人知道如何(安全地)这样做?是的,我知道默认情况下变量是全局的,这纯粹是语法糖。

需要说明的是,添加现有类型的自定义关键字非常简单。我不知所措的部分是如何安全地编辑解析器(通过 5.2 C 源代码),以便它丢弃或忽略新的“全局”关键字。

最佳答案

想通了。首先,我将一个新 token TK_GLOBAL 附加到 RESERVED 枚举的末尾。

然后在 luaX_init() 中我添加了...

ts = luaS_new(L, "global");
luaS_fix(ts);
ts->tsv.reserved = cast_byte(TK_GLOBAL+1-FIRST_RESERVED);

最后在 statement() 函数中我添加了...

case TK_GLOBAL:
luaX_next(ls);
break;

据我所知,它是有效的。希望它是安全的。

关于c - 向 lua 5.2 源添加可选的 "global"关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53460422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com