網(wǎng)上找的一些綜合材料tv講義language_第1頁(yè)
網(wǎng)上找的一些綜合材料tv講義language_第2頁(yè)
網(wǎng)上找的一些綜合材料tv講義language_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Problem 3:L-語(yǔ)言 (Language.exe)通常使用 BNF(Backus-Naur Form)來嚴(yán)格地定義一種編程語(yǔ)言的語(yǔ)法(syntax)。Grant 先生為了研究編譯原理,設(shè)計(jì)了一個(gè)最最簡(jiǎn)單的計(jì)算機(jī)編程語(yǔ)言 L-語(yǔ)言。之所以說它是“最最簡(jiǎn)單的”是因?yàn)橄旅?,L-語(yǔ)言只有順序與分支結(jié)構(gòu),不支持循環(huán)結(jié)構(gòu)。雖然 L-語(yǔ)言支持?jǐn)?shù)組,但只有一維的數(shù)組。L-語(yǔ)言不支持過程與函數(shù)。 L-語(yǔ)言只支持整形變量。 L-語(yǔ)言不支持指針。給出 L-語(yǔ)言的 BNF 定義,其中表示“定義為”,|表示“或”。表示“空”:程序 PROGRAM 程序標(biāo)識(shí)符 ;常量定義部分 變量說明部分 BEGIN 語(yǔ)句串EN

2、D .常量定義部分 CONST 常量定義 |常量定義 常量標(biāo)識(shí)符 = 非負(fù)整常數(shù) ;| 常量標(biāo)識(shí)符 = 非負(fù)整常數(shù) ;常量定義變量說明部分 VAR 變量說明 |變量說明 類型 :變量標(biāo)識(shí)符 ;| 類型 :數(shù)組說明 ;|類型 :變量標(biāo)識(shí)符 ;變量說明 | 類型 :數(shù)組說明 ;變量說明EGER ARRAY 數(shù)組標(biāo)識(shí)符 正整常數(shù) 類型 數(shù)組說明語(yǔ)句串 語(yǔ)句 |語(yǔ)句 命令命令 變量;語(yǔ)句 | 命令:= 表達(dá)式 |IF 表達(dá)式 關(guān)系運(yùn)算符 表達(dá)式IF 表達(dá)式 關(guān)系運(yùn)算符 表達(dá)式THEN 命令 |THEN 命令 ELSE 命令 |PR表達(dá)式 |BEGIN 語(yǔ)句串 END表達(dá)式 表達(dá)式 + 項(xiàng) | 表達(dá)式

3、- 項(xiàng) | 項(xiàng)項(xiàng) 項(xiàng) * 因子 | 因子因子 變量 | 常量標(biāo)識(shí)符 | 非負(fù)常整數(shù)變量 變量標(biāo)識(shí)符 | 數(shù)組標(biāo)識(shí)符 表達(dá)式 關(guān)系運(yùn)算符 = | | 表達(dá)式 2THEN 命令 1ELSE 命令 2表示如果表達(dá)式 1 的值大于表達(dá)式 2,則執(zhí)行命令 1,否則執(zhí)行命令 2。 L-語(yǔ)言是大小寫敏感的(case-sensitive)。所有變量在程序開始運(yùn)行之前,值都被預(yù)設(shè)成 0。L-語(yǔ)言的下標(biāo)用 C 類似,下標(biāo)范圍是 0 至(數(shù)組長(zhǎng)度-1),比如下申請(qǐng):EGER : ARRAY A 4;則數(shù)組變量 A 的下標(biāo)范圍即 A0.A3。L-語(yǔ)言有 11 個(gè)保留字(keyword),它們是不能被作為標(biāo)識(shí)符的:PR

4、OGRAM CONST VAR ELSE PREGER ARRAY BEGIN END IF THEN一個(gè)標(biāo)識(shí)符不能被申請(qǐng)兩次或兩次以上。要求:輸入為一個(gè)合法的 L-語(yǔ)言的程序,請(qǐng)你用你熟悉的編程語(yǔ)言來解釋它?!癙R表達(dá)式” 是 L-語(yǔ)言的輸出語(yǔ)句,其效果是在標(biāo)準(zhǔn)輸出上輸出表達(dá)式的值和一個(gè)回車。對(duì)于輸入程序的約定:所有標(biāo)識(shí)符都是以字母打頭的,由字母與數(shù)字組成的字符串。(下劃線_被視為字母)標(biāo)識(shí)符的長(zhǎng)度不會(huì)超過 10。L-語(yǔ)言運(yùn)行過程中所涉及的所有數(shù)值范圍均在 32 位整數(shù)(Long內(nèi)。表達(dá)式長(zhǎng)度(不包括中間的空格,TAB 與回車)不超過 50。BEGIN END 嵌套不會(huì)超過 10 層。)范圍之常量與變量個(gè)數(shù)總和不會(huì)超過 10000 個(gè)。數(shù)組中的元素被視為不同的變量。保證輸入的程序不會(huì)出現(xiàn)運(yùn)行錯(cuò)誤(比如數(shù)值超界,下標(biāo)越界等)。輸入輸出樣例Language.inlanguage.outPROGRAM SLE; CONSTTRUE = 1;FALSE = 0 VAREGER :A; EGER :B;EGER :ARRAY C2 BEGINC0 := 2;C1 := 3;A

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論