首先要做的事情;
我在C#中写了一个小LUA-Ide。代码执行由名为LuaInterface的程序集完成。代码编辑由Scintilla-Port& RAD / UI接口是通过可扩展的IDesignSurfaceExt Visual Studio(单向代码生成)实现的。文件处理由一个用作项目包文件的小sql-lite-db提供。
总而言之,我已经得到了我需要的一切......
唯一未解决的问题是lua的解析器/词法分析器。我不想加载&执行代码!我只是想解析包含Lua代码的String,并获得有关它的一些信息,如函数和全局变量。我真的不想完全自己编写解析器...(我讨厌正则表达式 - 我一直都错了^^)
任何人都有一个链接到.net lua解析器的链接?
只是为了澄清 - 我只想要分析此时的代码 - 我不 wnat 运行它!
提前致谢!
Corelgott
答案 0 :(得分:3)
仅供记录:
我选择了:
http://irony.codeplex.com/ - 一种语言实现工具包,可以适用于解析多种语言。 (顺便说一句,这个实际上几乎没有任何实质性的东西......所以代码 - 评论没有文档...但很有趣......)
和
的自定义版本http://luairony.codeplex.com/ - 反讽的Lua语法(增加了一定程度的容错性)
但是我得管理员,两者都是非常沉重的东西......你开辟了一大堆新问题以及很多可能性......
干杯,Corelgott
答案 1 :(得分:1)
这个SO问题的回答可能会有所帮助。
答案 2 :(得分:1)
答案 3 :(得分:0)
This并不是你所追求的,但也许有一半可以提供一半的答案。
通过将Lua解析为AST,它将Lua转换为C.然后,您可以从AST中提取所需的信息。它是用Lua编写的,但你已经知道如何调用它了:)
答案 4 :(得分:0)
请看这里:Lua recipes for LPeg 也许你可以使用一个 - 否则我会考虑使用文档中的扩展BNF。