Build Status NuGet version MIT License

Bve5_Parsing

bve5PasingImage

Bve5構文のC#パーサライブラリです。 Bve5の構文はどのように処理されているのか?という疑問を解消すべく、パーサジェネレータ「ANTLR」を利用し、Bve5.7構文のパーサを実装してみました。現在、Bve5.7.6224.40815の一部構文に対応しています。 特にイレギュラーな入力(引数の数が異なる,構文名が異なる等)に対する処理が本家ソフトウェアと比べてかなり相違があります。

Supported Syntaxes

その他は今後作っていきます👍

Requirements

Installation

NugetからBve5_Parsingをインストールするか、このプロジェクトをビルドしてdllを入手し、各自のプロジェクトにインポートしてください。

Usage for C#

ex. C#でMapFileの構文解析を行う場合.

using Bve5_Parsing.MapGrammar;

...
    string input; //String to be analyzed
    MapGrammarParser parser = new MapGrammarParser();

    MapData returnData;
    try{
        returnData = parser.Parse(input);
    }catch(Exception e){

    }
...

構文が解析された場合、結果はMapDataクラスで返ってきます。例えば、ファイルヘッダのバージョン情報はMapData.Versionに格納されています。

構文解析のエラーはErrorListenerクラスを継承したクラスをパーサのコンストラクタの引数に指定することで取得できます。

Used Librarys

Bve5_Parsing is using the following library.

ANTLR v4

The BSD License (3-clause BSD License)

Copyright (c) 2012 Terence Parr and Sam Harwell

License

The MIT License (MIT)

Copyright(c) 2017 aoisupersix

License.md

TechnicalCommentary

Bve5_Parsingの技術解説です。
-> TechnicalCommentary.md