C# Lua解析器/分析器

3

首先要做的是;

我正在用C#编写一个小型的LUA IDE。代码执行由名为LuaInterface的程序集完成。代码编辑由Scintilla-Port完成,RAD/UI界面通过可扩展的IDesignSurfaceExt Visual Studio(单向代码生成)完成。文件处理由一个小型的sql-lite-db提供,用作项目包文件。

所以总的来说,我已经准备好了所有需要的东西...

唯一未解决的问题是Lua的解析器/词法分析器。我不想加载和执行代码!我只想解析包含Lua代码的字符串,并获取有关它的一些信息,如函数和全局变量。我真的不想完全自己编写解析器...(我讨厌正则表达式 - 我总是弄错 ^^)

有人有一个.NET Lua解析器的链接吗?

只是为了澄清 - 我想在这个时候分析代码 - 我不想运行它!

提前感谢!

Corelgott

5个回答

4

仅供参考:

我采用了以下两种组合:

http://irony.codeplex.com/ - 一种语言实现工具包,可用于解析多种语言。(顺便说一下,这个几乎没有任何文档...所以只有代码注释而没有文档...但是非常有趣...)

和一个定制版的

http://luairony.codeplex.com/ - 用于irony的Lua语法(增加了一些错误容忍度)

但我必须承认,两者都相当复杂...你可能会遇到新问题,但也有很多可能性...

祝好,Corelgott


1

1

0

这个可能不完全符合你的要求,但或许其中一部分可以提供部分答案。

它将Lua转换成C,通过解析Lua生成AST。然后你可以从AST中提取所需信息。它是用Lua编写的,但你已经知道如何调用它了 :)


0

看这里:Lua LPeg的配方 也许你可以使用其中一个 - 否则我会查看文档中的扩展BNF。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接