Processing .pde 一日ハック(3)

  • core/PApplet.java - Applet を継承した全てのスケッチの親クラス。重要なクラスだが今回はあまり気にしなくてもよい、と思う。
  • app/preproc/PdePreprocessor.java プリプロセッサ。p5 language がほとんど Java と同じとはいえ、ANTLRなるパーサージェネレーターを使っている。
  • p5 のソースコード(svn 経由で取得)はコメントやコメントアウトされたコード断片が沢山あって、実体はしらないが活気を感じる。
  • app/preproc/PdePreprocessor.java#write これが "preprocess a pde file and write out java file" とあって、今回知りたかったメソッド。ここまでたどりつけば、中間はまるっきり省いているが、目的を果たせそうな気がする。
  • app/preproc/PdeEmitter.java これは上記で呼ばれるクラスで、AST を受け取って Java コードを吐くもの。多分今は中身は気にしなくて良いが、興味深いので眺める。パーサージェネレーターがあるとはいえ、自分で文字列としてコードを吐くプログラムなんてなんて面倒なんだろう、と Lisp 見習いの自分は思う。