目的コードの生成.pptVIP

  • 7
  • 0
  • 约3.4千字
  • 约 28页
  • 2016-12-31 发布于海南
  • 举报
目的コードの生成

目的コードの生成 中田育男著 コンパイラの構成と最適化 朝倉書店, 1999年 第9章 中間語 構文木とDAG 抽象構文木(AST:abstract syntax tree) DAG(directed acyclic graph) 中間木 四つ組(3番地コード)と三つ組 (演算子, オペランド1, オペランド2, 結果) (演算子, オペランド1, オペランド2) 結果を三つ組の場所で示す。 中間語(続き) RTL Register transfer language 命令語はレジスタとのやりとりが主。 例: a[i]=b+1; r[1]=m[b] r[1]=r[1]+1 r[2]=m[i] r[2]=r[2]*4 m[a+r[2]]=r[1] 機械語 コード生成器生成系 パターンマッチングによるコード生成器 木のパターンマッチングによる コード生成 極大食い(maximal munch) トップダウンのパターンマッチング 中間木の根から葉の方向に。 いろいろなマッチングがありうるときは、 できるだけ大きなパターンを選ぶ。 極大食いが常に最適とは限らない。 ダイナミックプログラミングによる コード生成 文のコード生成 手続き呼び出しのコード レジスタの使い方 特定目的に使われるレジスタ BrLink L ! Branch and Link 大域的に使われるレジスタ群 手

文档评论(0)

1亿VIP精品文档

相关文档