Ceci est un travail en cours de l'analyseur LUA 5.1+ à perte de perte écrite en rouille. Il préservera tous les commentaires, les espaces blancs et les distinctions de style comme les citations et l'évasion.
Je veux utiliser MAB pour un certain nombre de projets futurs:
Les contributions sont les bienvenues - il y a beaucoup de travail à faire!
MAB prend en charge Rust 1.26 stable et plus récent.
Il y a déjà une suite de tests assez importante implémentée en tant que système "analyse par exemple". Les entrées de fichiers de test sont situées dans parse_examples/source .
Le runner de test ( cargo test ) lira, tokenize et analysera ces fichiers source et vérifiera le dernier dossier de résultats connu ( parse_examples/results ) pour voir s'ils correspondent à ce qu'ils ont fait auparavant.
Si vous apportez des modifications qui modifient l'AST de l'analyseur, supprimez la liste de jetons sérialisée correspondante et les fichiers AST JSON. Lorsque vous exécutez le Runner Test ensuite, il générera des fichiers qui devraient être examinés manuellement et soumis parallèlement à votre modification. Le spectateur DIFF de Git peut aider à identifier si ce qui a été modifié était intentionnel.
Soyez prudent avec les fins de ligne lors du développement sous Windows. Le référentiel a un fichier .editorconfig ainsi qu'un fichier .gitattributes pour essayer de garantir que tous les fichiers LUA ont des terminaisons de ligne LF par opposition à CRLF . Enregistrant une analyse par exemple de la liste de jetons avec des terminaisons de ligne CRLF qui y sont cueillies entraîneront l'échec de CI.
Ce projet est disponible en vertu des termes de la licence publique de Mozilla, version 2.0. Les détails sont disponibles en licence.