开发者

C# Lua Parser / Analyser

first things first;

I am writing a little LUA-Ide in C#. The code execution is done by an Assembly named LuaInterface. The code-editing is done by a Scintilla-Port & the RAD / UI Interface is via the extensible IDesignSurfaceExt Visual Studio (one way code generation). File handling is provided by a little sql-lite-db used as a project-package-file.

So all in all i've got everything i need together...

The only problem unsolved is the parser / lexer for lua. I do not want to load & execute the code! I just want to parse the String containing the Lua code and get some information about it like function and global vars. I really don't want to write the parser completly myself... (I hate regex - 开发者_如何学GoI get the wrong all the time ^^)

Anybody got a link to a .net lua parser lying around?

Just to clarify - I only want to analyse the code at this point - I dont wnat to run it!

Thanks in advance!

Corelgott


Just for the record:

I went with a comibination of:

http://irony.codeplex.com/ - A Language implementation Kit that can be adapted to parse several languages. (Btw. this one got virtually no ducumentation what so ever... So code-comments no docs... but lots of fun...)

and a customized version of

http://luairony.codeplex.com/ - the Lua Syntax for irony (added some degree error tolerance)

But I gotta admin, both are pretty heavy stuff... and you kind of open up a box of new problems as well as lots of possibilities...

Cheers, Corelgott


This SO question's responses may be helpful.

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


Incomplete but:

http://luairony.codeplex.com/


This isn't quite what you're after, but maybe half of it can provide half the answer.

It converts Lua to C, by parsing the Lua to an AST. You could then extract the info you need from the AST. It's written in Lua, but you already know how to call that :)


Have look here: Lua recipes for LPeg Maybe you can use one - otherwise I would look at using the extended BNF from the documentation.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜