id:takuto_hさんのプログラミング言語CyanをSilverlightに移植しました。Cyanのクラス構成もマップ化して分析しました。動作確認とソースのダウンロードは以下です。
Cyanの外部でコンソールのエミュレーションを行っているため(詳細は id:n7shi:20090713 を参照)、Cyan本体にはほとんど手を加えていません。手を加えた部分は#ifディレクティブで分離してあるため、SILVERLIGHTで検索すれば列挙できます。修正箇所は以下の通りです。
- Silverlightのリフレクションの制限でprotectedコンストラクタを呼ぶことができないためpublicに変更
- ProgramクラスはVMではなくコードから呼ばれるためpublicに変更
- ProgramクラスはCyan名前空間の外のため、エミュレートしたコンソール(Cyan.Console)を明示的に指定
- ファイルの読み込み対象をXAP内のコンテンツに変更 (詳細は id:n7shi:20090714 を参照)
ブラウザ上でそのまま実行できて、ドキュメントも同一画面内から参照できるため、初めての言語を試す敷居が少しは下がるかもしれません。