これは、Rustで記述されたProgress Lossless Lua 5.1+パーサーです。引用や逃亡など、すべてのコメント、白文学、スタイルの区別を保持します。
多くの将来のプロジェクトにmabを使用したい:
貢献は大歓迎です - やるべきことがたくさんあります!
MABはRust 1.26安定性と新しいものをサポートします。
「例別の例」システムとして実装されているかなり大きなテストスイートがすでにあります。テストファイル入力はparse_examples/sourceにあります。
テストランナー( cargo test )は、これらのソースファイルを読み取り、トークン化、解析し、最後に知られている良好な結果フォルダー( parse_examples/results )を確認して、以前にしたことと一致するかどうかを確認します。
パーサーのASTを変更する変更を行っている場合は、対応するシリアル化されたトークンリストとAST JSONファイルを削除します。次にテストランナーを実行すると、変更とともに手動でレビューおよび送信する必要があるファイルが生成されます。 GitのDiff Viewerは、変更されたものが意図的であるかどうかを特定するのに役立ちます。
Windowsで開発するときは、ラインエンディングに注意してください。リポジトリには.editorconfigファイルと.gitattributesファイルがあり、すべてのLUAファイルがCRLFとは対照的にLFラインエンディングがあることを保証しようとします。 CRLFラインエンディングを使用して、TOKENリストごとに処理すると、CIが失敗します。
このプロジェクトは、Mozilla Public Licenseの条件であるバージョン2.0で入手できます。詳細はライセンスで利用できます。