外部DSL実装のためのAntlrチュートリアル

昨日、JavaEE勉強会で外部DSL実装に向けたAntlrのチュートリアルをやってきた。
JavaEE勉強会では今Fowler DSL本の読書会をやっており、導入、内部DSLを終え、外部DSLもほぼ終わったあたり(全体だと2/3くらい?)まで来ている。過去内部DSLが終わった際には、理解を深めるために各自で内部DSLを実装して発表するハンズオンを開催している。外部DSLでも同様のハンズオンが開かれる予定で、このチュートリアルはそのための準備という位置づけ。

実際やってみると、以下のようなファイルの保存先パスに日本語が入っているとNGになるケースがあった模様。
  • AntlrWorksのJAR保存先
  • 文法ファイル(*.g)の保存先
また、文法ファイル名と文法名(文法ファイルの先頭に定義された「grammer」に続く定義)が不一致なため、デバッグ時の自動コンパイルで失敗している人もいた。注意注意。

コメント