ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Scalaコンパイラプラグインによるソース変換

2011-09-11 21:33:17 | PG(Scala)

Scalaコンパイラプラグインの使い方がようやく分かってきた。

ソースの構文解析木を見るのはだいぶ前に試していた(試していたことすら忘れかけていた(爆))けれど、それは意外と簡単だった。
Scalaお得意のパターンマッチが炸裂・大活躍(笑)

難物だったのはソースコード変換
構文解析木のTreeだけ変えればいいのかと思ったら、Symbolも一緒に変えないといけない。しかもTreeの中にSymbolを保持していたり、いつの間にかContextでスコープを保持していたり…。分かってみれば対処法はあったけれど、分かるまでが大変だった(苦笑)
なにせサンプルが少なくて。検索してみると見つかるのが掲示板で、しかも質問は載っていても回答が付いていなかったり理解できなかったり(英語だし)。

しかし新しいTreeを作る為のTreeDSLは面白い。これぞDSLだな。Scalaの構文解析木を作る為のDSL。Scalaの面目躍如(笑)

何はともあれ、クラスフィールドメソッドを追加することは出来た。(やり方が確立してしまえば、意外と簡単)
これで何か自動生成できるかな~?


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« AsakusaFWをScalaで記述する... | トップ | うかつなパッケージ名 »
最新の画像もっと見る

コメントを投稿

PG(Scala)」カテゴリの最新記事