C#Lua Parser / Analyzer

时间:2010-11-10 13:45:37

标签: c# lua lexer parser-generator

首先要做的事情;

我在C#中写了一个小LUA-Ide。代码执行由名为LuaInterface的程序集完成。代码编辑由Scintilla-Port& RAD / UI接口是通过可扩展的IDesignSurfaceExt Visual Studio(单向代码生成)实现的。文件处理由一个用作项目包文件的小sql-lite-db提供。

总而言之,我已经得到了我需要的一切......

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

任何人都有一个链接到.net lua解析器的链接?

只是为了澄清 - 我想要分析此时的代码 - 我 wnat 运行它!

提前致谢!

Corelgott

5 个答案:

答案 0 :(得分:3)

仅供记录:

我选择了:

http://irony.codeplex.com/ - 一种语言实现工具包,可以适用于解析多种语言。 (顺便说一句,这个实际上几乎没有任何实质性的东西......所以代码 - 评论没有文档...但很有趣......)

的自定义版本

http://luairony.codeplex.com/ - 反讽的Lua语法(增加了一定程度的容错性)

但是我得管理员,两者都是非常沉重的东西......你开辟了一大堆新问题以及很多可能性......

干杯,Corelgott

答案 1 :(得分:1)

这个SO问题的回答可能会有所帮助。

Easiest way to parse a Lua datastructure in C# / .Net

答案 2 :(得分:1)

不完整但是:

http://luairony.codeplex.com/

答案 3 :(得分:0)

This并不是你所追求的,但也许有一半可以提供一半的答案。

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

答案 4 :(得分:0)

请看这里:Lua recipes for LPeg 也许你可以使用一个 - 否则我会考虑使用文档中的扩展BNF。