Grammarファイルは捨てろ:DSLパーサーを普通のTypeScriptで書く
Bounded Context向けの小さなDSLに、パーサージェネレータは大げさすぎる。パーサーコンビネータなら、アプリケーションと同じ言語で動作するパーサーを、生成コードもビルドステップもなしに構築できる。
Yaccのgrammarファイルを開いて、なぜ言語を作るのに第二の言語を学ぶ必要があるのかと思ったことがあるなら、あなただけではない。パーサージェネレータは強力だが、bounded contextの中で自然に生まれる小さなDSLには、ほとんどの場合大げさすぎる。…