++C++; // 未確認飛行 C ブログ

http://ufcpp.net/

スタック型仮想マシンエミュレーター

leave a comment »

昨日書いた話、順調に進行中。

let factorial(x) = x > 1 ? x * factorial(x – 1) : 1;
let sum(n) = n * (n + 1 ) / 2;
let n = 5;
let x = factorial(n);
let y = sum(n);
(x + y) * x * y;

というようなソースコードに対して、以下のような出力が出るようになった。

左から順に、

  1. 抽象構文木を階層的に表示したもの
  2. 仮想マシン語コード
  3. スタックの状態(5段目の再帰呼び出し中)

あと残りのtodoは:

  • Silverlight化
  • 色分けしたりしてもうちょっと見やすくする
  • ソースの入力ウィンドウ作る
  • プロジェクトの整理(テストコードとかコメント足す)

やっぱり、スタックのデモなのかコンパイラのデモなのかよくわからない。

Written by ufcpp

2009年5月8日 @ 13:13

カテゴリー: 未分類

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。