【正文】
onst a{MO V a, R 0 }(7) reg0 ?{A D D SP , R 0 }+reg 0 reg SP: = ind + Memb const1 ind + consti regSP reg0 + in dco n st i r eg SP++reg 0 i ndcons t i reg SP+: =indr eg 0+mem b co n st 1+reg 1 c onst 1: =in d r eg 1r eg 0MOV a, R0 ADD SP, R0 ADD i(SP),R0 MOV b,R1 INC R1 MOV R1, *R0 選擇實驗最終報告內(nèi)容 1. 概述 : 源、目標語言 實現(xiàn)工具(平臺) 運行平臺 2. 結構設計說明 各功能模塊描述 3. 主要成分描述 (1) 符號表 (2) 運行時存儲組織和管理 (3) 語法分析方法 (4) 中間代碼表示 4. 開發(fā)過程和完成情況 12 . 3 基于樹重寫的代碼生成 例: a[i]:=b+1 替換 ← 模版 { 動作 } 例子: 前綴表示 :=ind + ind +const a reg sp ind + const i + mem b const 1 語法制導翻譯模式 第十三章13 . 1 ~ 1 3 . 4 自學補充:程序設計語言的計算模型 :l 命令式或過程式語言l 應用式 ( A p p l i c a t i v e ) 或函數(shù)式應用式語言 : L i sp 和 ML語法 : f u n c t i o n n ( ?? f u n c t i o n 2 ( f u n c t i o n 1 ( d a t a ) ) ?? )一個個函數(shù)應用在數(shù)據(jù)上的變換,最終得到一個結果。l 交互環(huán)境:程序在執(zhí)行過程中直接和用戶在顯示控制臺上交互,不斷從鍵盤或鼠標接受輸入,將輸出發(fā)送到顯示器上。語法:使能條件 1 →動作 1 使能條件 2 →動作 2 . . . 使能條件 n →動作 n如 p r o l o g , y a c cO O 程序設計已經(jīng)變成越來越重要的計算模式;面向?qū)ο蟮某绦蛟O計語言支持抽象數(shù)據(jù)類型和繼承性,即將數(shù)據(jù)和對數(shù)據(jù)的操作放在一起,定義一組具有公共行為屬性和數(shù)據(jù)類型的對象,由類機制將這組對象給予抽象表示。 (3) 將 n列入表中 。從 g et re g 返回時,得到一寄存器 R ,用它作存放 A 現(xiàn)行值的寄存器;2 . 利用 A V A L U E [ B ] 和 A V A L U E [ C ] ,確定出 B 和 C 現(xiàn)行值存放位置 B` 和 C` ,如果其現(xiàn)行值在寄存器中,則把寄存器取作 B` 和 C` ;1 . 如 B` ≠ R ,則生成目標代碼L D R , B `o p R , C ` 否則,生成目標代碼 o p R , C` 如 B` 或 C` 為 R ,則刪除 A V A L U E [ B ] 或 A V A L U E [ C ] 中的 R2 . 令 A V A L U E [ B ] ={ R } ,并令 R V A L U E [ R ] ={ A } ,以表示變量 A 的現(xiàn)行值只在 R 中并且 R 中的值只代表 A 的現(xiàn)行值;3 . 如 B 或 C 的現(xiàn)行值在基本塊中不再被引用,它們也不是基本塊出口之后的活躍變量 (由四元式 i 上的附加信息知道),并且其現(xiàn)行值在某個寄存器 Rk 中,則刪除R V A L U E [