言语プロセッサ2005 ameken.clique.jp.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
言语プロセッサ2005 ameken.clique.jp

1.構文木 (いままで幾つか例を見てきましたので省略) * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 2.後置記法 前置記法(prefix notation) 中置記法(infix notation) 後置記法(postfix notation) * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 2.後置記法 前置記法(prefix notation) + X Y 中置記法(infix notation) X + Y 後置記法(postfix notation) X Y + * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 練習問題 * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 後置記法の長短 長所: 括弧が不要 コード生成がし易い スタックを利用すると、インタープリタが容易に 実現可能(教科書pp.15-19参照のこと) 短所: 四つ組(後述)と比べ表現に融通性欠如 そのため、最適化に不向き * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 3.三つ組 形式: 番号 (演算子,被演算子1,被演算子2) 例: 7.(+,X,15) (意味) ⑦ ← X+15 二番地命令/コードともいう * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 例 A = 10 * B ー C / D = (*,10,B) ( / ,C,D) (ー,①,②) (=,③,A) * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 4.四つ組 形式: (演算子,被演算子1,被演算子2,結果の変数) 例: (+,X,15,t) (意味) t ← X+15 三番地命令/コードともいう * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 例 A = 10 * B ー C / D = 1.(*,10,B,t1) 2.( / ,C,D,t2) 3.(ー,t1,t2,A) 1と2の順序を入れ替えても、結果は変わらない! 最適な計算順序がある? * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 例2:X=(A+B-C)/(A+B) (まずは自分でやってみよう) * 練習問題 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 例2:X=(A+B-C)/(A+B) (+,A,B,t1) (ー,t1,C,t2) (+,A,B,t3) ( / ,t2,t3,X) * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 例2:X=(A+B-C)/(A+B) (+,A,B,t1) (ー,t1,C,t2) (+,A,B,t3) ( / ,t2,t3,X) t1とt3は実は同じもの! * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 例2:X=(A+B-C)/(A+B) (+,A,B,t1) (ー,t1,C,t2) ( / ,t2,t1,X) (最適化された!) * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 練習問題 式 x + y * ( z – w ) を 構文木 後置記法 三つ組 の列 四つ組 の列  として表せ。 * 今日の 練習問題 出席用紙に答案を書いてください。最後に、提出してもらいます。 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) コードの最適化 コンパイル過程において、生成するコードを改良することを「コード最適化」という。 では、「改良」とはどうすること? * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 最適化の内容(例) コードを小さくする 実行時の効率をよくする 実行時の使用メモリを小さくする 一般には、2が重要視される。 * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) コード最適化の手法 共通部分の削除 複写伝播 不要コードの削除 ループ不変量の抽出とコード移動 演算子の強さの軽減 などなど * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 1.共通部分の削除 A=B/(C+D)-(C+D); ( +, C, D, t1 ) ( /, B, t1, t2 ) ( +, C, D, t3) ( -, t2, t3, A) * 言語プロセッサ2015 東京工科大学CS学部 (担当 亀田弘之) 1.共通部分の削除 A=B/(C+D)-(C+D); ( +, C, D, t1 ) ( /, B, t1, t2 ) ( +, C, D,

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档