Yellow for Silverlight
n7shiさんが、Cyanに引き続きYellowもSilverlightへ移植してくださいました。
Yellow for Silverlight - 七誌の開発日記
「Cyanよりも更に洗練されている」というお言葉を頂いたので、Yellowの処理系を書くにあたって留意した点を書き留めておきます。
- 他への依存が少ない部分から書き始める
- YellObject -> YellSymbol -> YellPackage -> Lexer -> Parser
- 拡張を定型作業として行えるような仕組みを作る
- YellOperatorにおける継承関係
- YellParent
- C#の機能を最大限に生かす
今後の課題としては、GlobalPackagesクラスによって生じた問題が挙げられます。
- public staticなプロパティは、実質グローバル変数
- 複数の状態を持てない
- 静的フィールドは、初期化のタイミングが分かりにくい
- ParentNameという苦肉の策
もっと他人の書いたコードを読むことで、さらに洗練されたコードを書けるようになろうと思います。
その意味でも、セキュリティ&プログラミングキャンプは楽しみです。