資源描述:
《《高級程序設(shè)計語言》PPT課件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第二章高級語言及其語法描述程序設(shè)計語言的語法程序設(shè)計語言的語義程序設(shè)計語言的特點程序設(shè)計語言的語法描述第二章高級語言及其語法描述任何語言實現(xiàn)的基礎(chǔ)是語言的定義。在定義方面,編譯程序研制者與一般用戶有所不同用戶關(guān)心語言如何使用開發(fā)人員關(guān)心語言的定義。他們對哪些構(gòu)造允許出現(xiàn)更感興趣。即使一時不能看出某種構(gòu)造的實際應(yīng)用,或者判斷實現(xiàn)該結(jié)構(gòu)會導(dǎo)致嚴重的困難,但仍必須嚴格根據(jù)語言的定義實現(xiàn)它。程序語言主要由語法和語義兩方面定義。2.1程序語言的定義第二章高級語言及其語法描述2.1.1語法所謂一個語言的語法是指這樣的一組規(guī)則,用它可以形成和產(chǎn)生一個合適的程序。這些規(guī)則一部分稱為詞法規(guī)則,另一部分能稱
2、為語法規(guī)則(或產(chǎn)生規(guī)則)。第二章高級語言及其語法描述幾個概念a.一個語言只是用一個有限字符集作為字母表;b.詞法規(guī)則是指單詞符號的形成規(guī)則。單詞符號一般包括:各類型的常數(shù)、標識符、基本字、算符和界符等。C.語言的語法規(guī)則規(guī)定了如何從單詞符號形成更大的結(jié)構(gòu)(即語法單位或語法范疇),換言之,語法規(guī)則是語法單位的形成規(guī)則。一般程序語言的語法單位有:表達式、語句、分程序、函數(shù)、過程和程序等。第二章高級語言及其語法描述對于一個語言來說,不僅要給出它的詞法、語法規(guī)則,而且要定義它的單詞符號和語法單位的意義。這就是語義問題。語義是指這樣的一組規(guī)則,使用它可以定義一個程序的意義。我們采用的方法為:屬性文
3、法和基于屬性文法的語法制導(dǎo)翻譯方法。2.1.2語義第二章高級語言及其語法描述程序語言的基本功能是描述數(shù)據(jù)和對數(shù)據(jù)的運算。所謂程序,從本質(zhì)上來說是描述一定數(shù)據(jù)的處理過程。程序子程序或分程序語句表達式算符函數(shù)調(diào)用數(shù)據(jù)引用程序第二章高級語言及其語法描述程序設(shè)計語言的定義建立在有限字母集之上的一個符號系統(tǒng)有一定的語法和語義規(guī)則語法規(guī)則:詞法規(guī)則和語法規(guī)則語義規(guī)則:描述語法單位的功能和含義程序設(shè)計語言的功能是描述數(shù)據(jù)和對數(shù)據(jù)的運算第二章高級語言及其語法描述2.2高級語言的一般特性2.2.1高級語言分類2.2.2程序結(jié)構(gòu)2.2.3數(shù)據(jù)類型與操作2.2.4語句與控制結(jié)構(gòu)第二章高級語言及其語法描述2.2
4、.1高級語言分類從不同的角度看,對高級程序設(shè)計語言有不同的分類方法。如果我們從語言范型分類,當今的大多數(shù)程序設(shè)計語言可劃分為四類。一、強制式語言強制式語言也稱過程式語言。其特點是命令驅(qū)動,面向語句。一個強制式語言程序由一系列的語句組成,每個浯句的執(zhí)行引起若干存儲單元中的值的改變。這種語言的語法形式通常具有如下形式:語句1;語句2;語句n;許多廣為使用的語言,如FORTRAN、C、Pascal,等等,屬于這類語言。第二章高級語言及其語法描述2.2.1高級語言分類二、應(yīng)用式語言與強制式語言不同的是,應(yīng)用式語言更注重程序所表示的功能,而不是一個語句接一個語句地執(zhí)行。程序的開發(fā)過程是從前面已有的
5、函數(shù)出發(fā)構(gòu)造出更復(fù)雜的函數(shù),對初始數(shù)據(jù)集進行操作直至最終的函數(shù)可以用于從初始數(shù)據(jù)計算出最終的結(jié)果。這種語言通常的語法形式是:函數(shù)n(…函數(shù)2(函數(shù)1(數(shù)據(jù)))…)因此,這種語言也稱函數(shù)式語言。LISP和ML屬于這種語言。第二章高級語言及其語法描述2.2.1高級語言分類三、基于規(guī)則的語言基于規(guī)則的語言程序的執(zhí)行過程是:檢查一定的條件,當它滿足值,則執(zhí)行適當?shù)膭幼鳌W钣写硇缘幕谝?guī)則語言是Prolog,它也稱邏輯程序設(shè)計語言,因為它的基本允許條件是謂詞邏輯表達式。這類語言的語法形式通常為:條件1→動作l條件2→動作2條件n→動作3第二章高級語言及其語法描述2.2.1高級語言分類四、面向?qū)ο?/p>
6、語言面向?qū)ο笳Z言如今已成為最流行、最重要的語言。它主要的特征是支持封裝性、繼承性和多態(tài)性等。把復(fù)雜的數(shù)據(jù)和用于這些數(shù)據(jù)的操作封裝在一起,構(gòu)成對象;對簡單對象進行擴充、繼承簡單對象的特性,從而設(shè)計出復(fù)雜的對象。通過對象的構(gòu)造可以使面向?qū)ο蟪绦颢@得強制式語言的有效性,通過作用于規(guī)定數(shù)據(jù)的函數(shù)的構(gòu)造可以獲得應(yīng)用式語言的靈活性和可靠性。第二章高級語言及其語法描述2.2.2程序結(jié)構(gòu)不同程序語言都有各自的程序結(jié)構(gòu)C語言程序可以包含多個函數(shù)Pascal支持過程的嵌套定義程序結(jié)構(gòu)的不同,決定了符號表構(gòu)造方法的不同第二章高級語言及其語法描述Pascal是一個允許子程序嵌套定義的語言programmain…
7、procedureP1;…procedureP11;…begin…end;begin…end;procedureP2;…begin…end;begin…end第二章高級語言及其語法描述程序設(shè)計語言支持特定的數(shù)據(jù)類型與操作。一個數(shù)據(jù)類型通常包括以下三種要素:a.用于區(qū)別這種類型的數(shù)據(jù)對象的屬性b.這種類型的數(shù)據(jù)對象可以具有的值c.可以作用于這種類型數(shù)據(jù)對象的操作2.2.3數(shù)據(jù)類型與操作第二章高級語言及其語法描述一.初等數(shù)據(jù)類型(基本數(shù)