js实现lua解释器,类似halcon代码编辑器一行一行解释执行

解释器

只能一行一行执行,不能有一行代码跨越多行,不支持lua的表,只支持for i的循环,支持自定义函数,并且可以跳到函数里面一行一行执行,这里的函数并不是lua的函数,而是由js状态控制执行函数里的代码,if for 循环一样也是由js状态机跟踪状态并执行对应指令,函数之前的变量使用lua的表进行隔离,每个函数对应一个函数名的表,函数直接的参数传递由js状态机自动复制到函数对应的表中,包括函数的返回值。

代码示例

lua 复制代码
function test()
  for i=0,10,1 do
   f=1
   d=1
   for j=0,5,1 do
     if(d==1)
     then
       b=f*2
     else
       b=1
     end
   end
  end
end
  
test()

效果图

相关推荐
吴声子夜歌几秒前
Guava——反射
java·开发语言·guava
lingran__5 分钟前
Git 完全指南(三):远程仓库与标签管理
开发语言·git·gitee·ssh·团队协作·远程仓库·分布式版本控制
for_ever_love__7 分钟前
python爬虫: 数据解析
开发语言·爬虫·python·xpath
学习星球16 分钟前
AI 一句话生成 3D 游戏世界:腾讯 HY-World 2.0 开源深度解析与本地实战
开发语言·人工智能·游戏·3d·ai·课程设计·ai编程
名字还没想好☜18 分钟前
Go 用 -race 抓数据竞争:一个偶发崩溃的排查、原理与修复
开发语言·后端·golang·go
小灰灰搞电子29 分钟前
Rust std::vec::Vec<T>动态数组:所有相关 API 全面介绍
开发语言·rust
学习星球32 分钟前
CodeWhale 深度剖析:从 DeepSeek-TUI 到 40.9K Star 的 Rust 终端编程 Agent
开发语言·后端·rust
Rain的Java大神之路37 分钟前
高并发下的热点账户余额扣减:Redis+Lua脚本实现无锁记账
java·spring boot·redis·后端·spring cloud·缓存·lua
曹牧1 小时前
C#:线程间操作无效,不是从创建控件线程访问
开发语言·c#
承渊政道3 小时前
【Python编程—从入门到实践】(Python条件判断完全入门:从布尔表达式到列表中的if实战)
开发语言·python·pycharm·条件判断·布尔表达式