タグ

ブックマーク / d.hatena.ne.jp/tueda_wolf (1)

  • C#で書かれたパーサージェネレーターSpracheを使ってみた - tuedaの日記

    この間見つけたSpracheを試してみた。 SpracheはBison/Flexなどと同じ自分だけのDSLを作るためのパーサーを作るライブラリ。 この手のパーサーを1から書くのは非常に手間暇かかる作業で通常はやるべきではない。 (ただし職のコンパイラ書きを除く) SpracheはC#のみで書かれC#自体の強力さと相まって非常にシンプルにDSLをパースするクラスを作成できる。 ここでは試しにkey = value形式で書かれたファイルをパースする。 あまりにつまらない例だがゲームのコンフィグファイルとかこれで十分なことが多い。 ↓パースしたい文字列。 speed = 300 health = 100 weapon = 20 ↓パース後の値を保存するクラス。 最終的には上の例だとこれのインスタンスが3個取得できればいい。 public class Property { public stri

  • 1