Analyseur / parsingur C # Lua

les premières choses d’abord;

J’écris un peu LUA-Ide en C #. L’exécution du code est effectuée par un assembly nommé LuaInterface. L’édition du code est effectuée par un port Scintilla et l’interface RAD / UI se fait via l’extensible IDesignSurfaceExt Visual Studio (génération de code à sens unique). La gestion des fichiers est assurée par une petite firebase database sql-lite-db utilisée comme fichier de paquet de projet.

Donc dans l’ensemble j’ai tout ce dont j’ai besoin ensemble …

Le seul problème non résolu est l’parsingur / lexer de Lua. Je ne veux pas charger et exécuter le code! Je veux juste parsingr la chaîne contenant le code Lua et obtenir des informations à ce sujet, telles que function et global vars. Je ne veux vraiment pas écrire complètement l’parsingur moi-même … (Je déteste les regex – je me trompe tout le temps ^^)

Quelqu’un a-t-il un lien vers un parsingur .net lua qui traîne?

Juste pour clarifier – je veux seulement parsingr le code à ce stade – je ne voudrais pas le lancer !

Merci d’avance!

Corelgott

    Juste pour info:

    Je suis allé avec une combinaison de:

    http://irony.codeplex.com/ – Un kit d’implémentation linguistique qui peut être adapté pour parsingr plusieurs langues. (Btw. Celui-ci n’a pratiquement pas de motions à faire quoi que ce soit … Donc, code-commentaires pas de docs … mais beaucoup de plaisir …)

    et une version personnalisée de

    http://luairony.codeplex.com/ – la syntaxe Lua pour l’ironie (ajouté une certaine tolérance d’erreur)

    Mais je dois y aller en tant qu’administrateur, les deux sont assez lourds … et vous ouvrez une boîte de nouveaux problèmes ainsi que de nombreuses possibilités …

    Cordialement, Corelgott

    Les réponses à cette question SO peuvent être utiles.

    Meilleure façon d’parsingr une structure de données Lua en C # / .Net

    Ce n’est pas tout à fait ce que vous recherchez, mais peut-être que la moitié de cette réponse pourrait vous apporter la moitié de la réponse.

    Il convertit Lua en C, en analysant Lua en AST. Vous pouvez ensuite extraire les informations dont vous avez besoin de l’AST. C’est écrit en Lua, mais vous savez déjà comment appeler ça 🙂

    Regardez ici: Recettes Lua pour LPeg Peut-être pourriez -vous en utiliser une – sinon, je chercherais à utiliser le BNF étendu de la documentation.