是否有一种方法可以将Lua标签转换为ECMAScript3?
2016-10-9 22:39:55
收藏:0
阅读:119
评论:1
我正在重新构建一个Lua到ES3的转换器(一种将Lua转换为跨浏览器JavaScript的工具)。在我开始想法转换器之前,我想问一下是否可能将Lua标签转换为ECMAScript 3。比如:
goto label;
:: label ::
print "skipped";
我的第一个想法是将每个语句体分成几个部分,例如,如果有一个标签,它的下一个语句必须被存储为下一个完整的部分:
一些语句
标签(和语句)
其他标签(和语句)
以此类推。每个具有身体(或程序块)的语句都会得到这样的部分列表。每个标签的每个部分都应该在某个地方存储其名称(例如,在其自己的部分对象内,作为一个属性)。
每个部分都将是一个函数或将在自身上存储一个函数,以便按顺序执行它们与其他部分。
一个goto语句将查找它特定的标签来运行它的语句,并调用一个ES返回语句来停止当前语句的执行。
这种方式将身体语句分开的限制是访问在不同部分定义的变量和函数......那么,这个问题有没有想法或答案?将它们转换为 ECMAScript 后是否不可能有稳定的标签?
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

我不太明白你的想法,但似乎别人已经解决了这个问题:JavaScript 允许带有标签的
continue,与虚拟的while循环一起,允许在函数内模拟goto。 (除非我忘了什么,这就是 Lua 所需要的全部。)对比 ECMAScript 规范 ed.#3 2000-03-24 的第 72-74 页,以查看它在 ES3 中应该可行,或者只需查看例如此答案中关于 JS 中 goto 的问题的答案。像往常一样,在网上,那里引用的 URL 已经失效,但是您可以在令人敬畏的互联网档案馆中获取 summerofgoto.com[archived]。 (传出 GitHub 链接也已失效,但脚本也已存档:parseScripts.js,goto.min.js 或 goto.js。)
我希望这足以让事情顺利进行,祝你好运!