これはもともとお仕事記事として書いていたのですが、いろいろ折り合いつかず流れてしまいました。 まだ書きかけですが、完成させる気もいまいち湧かなかったので、このまま公開します。 サンプルプロジェクトは https://github.com/karino2/BParserDSL に置いておきます。 ------ 概要 LINQとはC# 3.0 から導入された、SelectManyのシンタックスシュガーの事だ。 近年ではRxやSpracheなど、SQL以外の分野でのLINQの活用例も増えてきた。 このシンタックスシュガーを用いてDSLを作る方法を解説する。 SelectManyを定義する事で、とても短時間で強力なDSLを構築する事が出来る。 (以下本文) SelectManyは非常に強力で多くの応用がある事が判明してきていて、最近の言語では大抵言語のコアの文法要素として、このシンタックスシュガー