




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1,編譯原理,第二章 高級語言及其語法描述,2,第二章 高級語言及其語法描述,程序語言的定義 高級語言的一般特性 程序語言的語法描述,3,第二章 高級語言及其語法描述,程序語言的定義 高級語言的一般特性 程序語言的語法描述,4,2.2 高級語言的一般特性,高級語言的分類 程序結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)與操作 語句與控制結(jié)構(gòu),5,數(shù)據(jù)類型與操作,一個數(shù)據(jù)類型通常包括三種要素 用于區(qū)別這種類型數(shù)據(jù)對象的屬性 這種類型的數(shù)據(jù)對象可以具有的值 可以作用于這種類型的數(shù)據(jù)對象的操作,6,數(shù)據(jù)類型與操作,初等數(shù)據(jù)類型 數(shù)值類型 整型、實型、復(fù)數(shù)、雙精度 運算:+,-,*,/等 邏輯類型 true、false 布爾運算:
2、,等 字符類型:符號處理 指針類型,7,測試:標識符與名字,下面哪種說法正確? ( ) A. 標識符是語義概念,名字是語法概念 B. 標識符是語法概念,名字是語義概念,8,標識符與名字,標識符 以字母開頭的,由字母數(shù)字組成的字符串 標識符與名字兩者有本質(zhì)區(qū)別 標識符是語法概念 名字有確切的意義和屬性,9,Jordan,標識符,名字,10,標識符與名字,名字 值:單元中的內(nèi)容 屬性:類型和作用域 名字的性質(zhì)的說明方式 由說明語句來明確規(guī)定的 隱含說明 FORTRAN 以I,J,K,N為首的名字代表整型,否則為實型 動態(tài)確定 走到哪里,是什么,算什么,11,數(shù)據(jù)結(jié)構(gòu),數(shù)組 邏輯上,數(shù)組是由同一類型
3、數(shù)據(jù)所組成的某種n維矩形結(jié)構(gòu),沿著每一維的距離,稱為下標 數(shù)組可變與不可變 編譯時能否確定其存貯空間的大小 訪問 給出數(shù)組名和下標值 存放方式 按行存放,按列存放,12,數(shù)組元素地址計算,數(shù)組A10,20的A1,1為a,各維下標為1,按行存放,那么Ai,j地址為: a+(i-1)*20+(j-1) 數(shù)組元素地址計算公式,13,數(shù)組元素地址計算,設(shè)A為n維數(shù)組,按行存放,每個元素寬度為w lowi 為第i維 的下界 upi 為第i維 的上界 ni 為第i維 可取值的個數(shù)(ni = upi -lowi + 1), base為A的第一個元素相對地址 元素Ai1,i2,ik相對地址公式 (i1 n2+
4、i2)n3+i3)nk+ik)w + base-(low1 n2+low2)n3+low3)nk+lowk)w,記為Con,14,內(nèi)情向量,內(nèi)情向量 維數(shù),各維的上、下限,首地址,以及數(shù)組(元素)的類型,15,記錄,邏輯上說,記錄結(jié)構(gòu)由已知類型的數(shù)據(jù)組合在一起的一種結(jié)構(gòu) record char NAME20; integer AGE; bool MARRIED; 訪問:復(fù)合名 CARDk.NAME 存儲:連續(xù)存放 域的地址計算 相對于記錄結(jié)構(gòu)起點的相對數(shù)OFFSET,CARD1000,16,字符串、表格、棧,字符串:符號處理、公式處理 表格:本質(zhì)上是一種記錄結(jié)構(gòu) 線性表:一組順序化的記錄結(jié)構(gòu)
5、棧:一種線性表,后進先出,POP, PUSH,17,抽象數(shù)據(jù)類型,抽象就是忽略一個主題中與當前問題無關(guān)的那些方面,以便更充分地注意與當前問題有關(guān)的方面 提取和表現(xiàn)事物的核心特性,忽略細節(jié),18,抽象數(shù)據(jù)類型,抽象數(shù)據(jù)類型(Abstract Data Type) A set of data values and associated operations that are precisely specified independent of any particular implementation.,美國標準與技術(shù)研究院NIST /dads/HTML/abs
6、tractDataType.html,19,抽象數(shù)據(jù)類型,一個抽象數(shù)據(jù)類型包括 數(shù)據(jù)對象的一個集合 作用于這些數(shù)據(jù)對象的抽象運算的集合 這種類型對象的封裝,即,除了使用類型中所定義的運算外,用戶不能對這些對象進行操作 程序設(shè)計語言對抽象數(shù)據(jù)類型的支持 Ada通過程序包(package)提供了數(shù)據(jù)封裝的支持,20,package STACKS is type ELEM is private; type STACK is limited private; procedure push (S: in out STACK; E: in ELEM); procedure pop (S: in out S
7、TACK; E: out ELEM); end STACK;,package body STACKS is procedure push(S: in out STACK; E: in ELEM); begin 實現(xiàn)細節(jié) end push; procedure pop (S: in out STACK; E: out ELEM); begin 實現(xiàn)細節(jié) end pop; end;,規(guī)范說明,程序包體,21,抽象數(shù)據(jù)類型,一個抽象數(shù)據(jù)類型包括 數(shù)據(jù)對象的一個集合 作用于這些數(shù)據(jù)對象的抽象運算的集合 這種類型對象的封裝,即,除了使用類型中所定義的運算外,用戶不能對這些對象進行操作 程序設(shè)計語言對抽象
8、數(shù)據(jù)類型的支持 Ada通過程序包(package)提供了數(shù)據(jù)封裝的支持 Smalltalk、C+和Java則通過類(Class)對抽象數(shù)據(jù)類型提供支持,22,class Car int color_number; int door_number; int speed; push_break ( ) add_oil ( ) class Trash_Car extends car double amount; fill_trash ( ) ,23,2.2 高級語言的一般特性,高級語言的分類 程序結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)與操作 語句與控制結(jié)構(gòu),24,語句與控制結(jié)構(gòu),表達式 表達式由運算量(也稱操作數(shù),即數(shù)據(jù)引
9、用或函數(shù)調(diào)用)和算符(操作符)組成 形式:中綴、前綴、后綴 X*Y -A P 表達式形成規(guī)則,25,算符的優(yōu)先次序,一般的規(guī)定 PASCAL:左結(jié)合A+B+C=(A+B)+C FORTRAN:對于滿足左、右結(jié)合的算符可任取一種,如A+B+C就可以處理成(A+B)+C,也可以處理成A+(B+C) 注意兩點 代數(shù)性質(zhì)能引用到什么程度視具體的語言不同而不同 在數(shù)學(xué)上成立的代數(shù)性質(zhì)在計算機上未必完全成立,26,語句,賦值語句 A := B 名字左值:該名字代表的那個單元(地址)稱為該名字的左值(所代表的存貯單元的地址) 右值:一個名字的值稱為該名字的右值(所代表的存貯單元的內(nèi)容),27,測試:左值與右值,在C語言中,下面選項只具有右值、不具有左值的是 ( )。 A. 變量 B. 下標變量 C. a + 5 D. 指針變量P E. *P (P是指針變量),28,語句,控制語句,無條件轉(zhuǎn)移語句 goto L,條件語句 if B then S if B then S1 else S2,循環(huán)語句 while B do S repeat S until B for i:=E1 step E2 until E3 do S,過程調(diào)用語句 call P(X1, X2, . ,Xn),返回語句 r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)業(yè)公司股權(quán)轉(zhuǎn)讓合同
- 個人轉(zhuǎn)租租房合同協(xié)議
- 住建委房屋租賃合同樣本
- 短期臨時運輸合作協(xié)議2025
- Brand KPIs for pet supply online shop PetSmart in the United States-外文版培訓(xùn)課件(2025.2)
- 2025年度行政訴訟法知識競賽題庫及答案(共150題)
- 2025年度個人消費貸款擔(dān)保合同樣本
- 2025年度采購服務(wù)的合同
- 家居裝修裝飾工程合同管理
- 中藥材購銷合同范本2025年
- 2025年春季學(xué)期形勢與政策第二講-中國經(jīng)濟行穩(wěn)致遠講稿
- GA 1517-2018金銀珠寶營業(yè)場所安全防范要求
- C語言期末考試試題南昌航空大學(xué)
- 取消訂單協(xié)議模板(5篇)
- 東風(fēng)天錦5180勾臂式垃圾車的改裝設(shè)計
- 浦發(fā)銀行個人信用報告異議申請表
- 施工進度計劃網(wǎng)絡(luò)圖-練習(xí)題知識講解
- 防孤島測試報告
- 按摩常用英語
- midas NFX使用指南(八)
- 成都高新區(qū)小學(xué)數(shù)學(xué)五年級下冊半期考試數(shù)學(xué)試卷
評論
0/150
提交評論