「DNCL3 → AST → JavaScript → output」 src on GitHub (ast_ver branch)
DNCL3の実装をインタプリタ式からASTを使うものに更新。DNCL3のプログラムを、パース(字句解析&構文解析)、AST(構文木)を生成、一旦デバッグ用にJavaScriptへ戻したものの表示に加え、ASTを辿った実行結果を一番右に表示します。BMI計算と判定ができます!式の評価をJavaScriptのパーサーに頼って横着したので、DNCL3固有の演算子に未対応です。
下記のようなコードが実行できます。(&&はandへ、||はorに変更予定)
height = 176 weight = 64 height_m = height / 100 bmi = weight / (height_m * height_m) print "BMIは", bmi if bmi < 18.5 { print "低体重" } if bmi >= 18.5 && bmi < 25.0 { print "普通体重" } if bmi >= 25.0 && bmi < 30.0 { print "肥満(1度)" } if bmi >= 30.0 && bmi < 35.0 { print "肥満(2度)" } if bmi >= 35.0 && bmi < 40.0 { print "肥満(3度)" } if bmi >= 40.0 { print "肥満(4度)" }
「code4fukui/DNCL3 at ast_ver」
ast_ver ブランチで実装を進めます。共通テスト用プログラミング言語を目指す「DNCL3」協力者募集中。うれしいことに、神山まるごと高専の2期生が参加してくれてます!