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

下載本文檔

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

文檔簡介

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

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

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

4、OGRAM CONST VAR ELSE PREGER ARRAY BEGIN END IF THEN一個標識符不能被申請兩次或兩次以上。要求:輸入為一個合法的 L-語言的程序,請你用你熟悉的編程語言來解釋它?!癙R表達式” 是 L-語言的輸出語句,其效果是在標準輸出上輸出表達式的值和一個回車。對于輸入程序的約定:所有標識符都是以字母打頭的,由字母與數(shù)字組成的字符串。(下劃線_被視為字母)標識符的長度不會超過 10。L-語言運行過程中所涉及的所有數(shù)值范圍均在 32 位整數(shù)(Long內(nèi)。表達式長度(不包括中間的空格,TAB 與回車)不超過 50。BEGIN END 嵌套不會超過 10 層。)范圍之常量與變量個數(shù)總和不會超過 10000 個。數(shù)組中的元素被視為不同的變量。保證輸入的程序不會出現(xiàn)運行錯誤(比如數(shù)值超界,下標越界等)。輸入輸出樣例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等.壓縮文件請下載最新的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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論