C# Lua解析器/分析器

首先,我在C#中编写了一个小的LUA-IDE。代码执行由称为LuaInterface的汇编完成,代码编辑由Scintilla-Port完成,RAD/UI界面通过可扩展的IDesignSurfaceExt Visual Studio实现(一种代码生成方式)。文件处理由一个小的sql-lite-db提供,用作项目包文件。

总的来说,我已经准备好了所需的一切......

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

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

仅为澄清 - 我目前只想分析代码 - 我不想运行它!

提前感谢!

Corelgott

原文链接 https://stackoverflow.com/questions/4145094

点赞
stackoverflow用户125265
stackoverflow用户125265

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

在C#/.Net中解析Lua数据结构的最简单方法

2010-11-10 13:54:43
stackoverflow用户21755
stackoverflow用户21755

这篇文章(This)可能并不完全符合您的需求,但其中一半可能会提供一半的答案。

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

2010-11-10 13:56:07
stackoverflow用户70945
stackoverflow用户70945

请看这里:Lua recipes for LPeg

也许你可以使用其中一个 - 否则我会查看文档中的扩展 BNF。

2010-11-10 13:57:23
stackoverflow用户151501
stackoverflow用户151501
2011-04-12 13:18:34
stackoverflow用户216663
stackoverflow用户216663

为了备忘: 我选择了以下组合:

http://irony.codeplex.com/ - 一种语言实现工具包,可以用来解析多种编程语言。(顺便提一句,这个工具包几乎没有文档支持......所以只有代码注释,没有文档......但是很有趣......)

以及定制版本的

http://luairony.codeplex.com/ - 带有容错度的 Lua 语法解析工具包。

但我必须承认,这两个工具都非常复杂......你在使用它们的同时也会开启一大串新问题和新可能性......

干杯,Corelgott

2011-04-16 21:22:56