Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ta plスライド第4章

783 views

Published on

Published in: Education
  • Be the first to comment

Ta plスライド第4章

  1. 1. TaPL 第四章 門脇 香子
  2. 2. 算術式のML実装 • TaPLに出てくるコードはだいたいOCamlで書いて ある(いいよね?) • しかもOCamlのごく小さなサブセットのみである • 型システムを語るにあたってパターンマッチの無い Java,Schemeなどは厳しい。Cなどは論外
  3. 3. 4.1 構文 • 構文は以下のようになる • 17ページの実装の書き直し(info に関しては省略)
  4. 4. 4.1 構文 • 項が数値かどうか判定する関数 • 項が値であるか判定する関数
  5. 5. 4.2 評価 • 単一ステップの評価関数eval1 • 例外を発生させる必要がある
 

  6. 6. 4.2 評価 • 評価関数eval1 • パターンマッチで明示的にwith を使っている
 ̶ nv1 が実際に数値であると きのみ評価規則が起動される
  7. 7. 4.2 評価 • 評価関数本体 eval
 
 • eval1が新しい評価を返し続けるうちはevalは再帰 的に呼び出される • これ以上評価できない項(正規形)になると止まる
  8. 8. 演習4.2.2 • 一応やっておきました
  9. 9. 4.3 最後に • コンパイラ,インタプリタの実装は以下の流れで行 われる • 今回は項を評価する段階を実装した ファイルI/O 字句解析 構文解析 評価 表示 文字 トークン 項 値

×