


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Problem 3:L-語言 (Language.exe)通常使用 BNF(Backus-Naur Form)來嚴格地定義一種編程語言的語法(syntax)。Grant 先生為了研究編譯原理,設計了一個最最簡單的計算機編程語言 L-語言。之所以說它是“最最簡單的”是因為下面,L-語言只有順序與分支結構,不支持循環(huán)結構。雖然 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 表達式 關系運算符 表達式IF 表達式 關系運算符 表達式THEN 命令 |THEN 命令 ELSE 命令 |PR表達式 |BEGIN 語句串 END表達式 表達式 + 項 | 表達式
3、- 項 | 項項 項 * 因子 | 因子因子 變量 | 常量標識符 | 非負常整數(shù)變量 變量標識符 | 數(shù)組標識符 表達式 關系運算符 = | | 表達式 2THEN 命令 1ELSE 命令 2表示如果表達式 1 的值大于表達式 2,則執(zhí)行命令 1,否則執(zhí)行命令 2。 L-語言是大小寫敏感的(case-sensitive)。所有變量在程序開始運行之前,值都被預設成 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內。表達式長度(不包括中間的空格,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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家庭教育輔導合同:學院與家長共同簽署
- 建筑機電安裝合同
- 零售店鋪租賃合同細則
- 戰(zhàn)略合作合同保密規(guī)定2025
- 建筑勞務分包臨時合同
- 土地使用權出讓合同范例
- 代課教師正式合同模板
- 跨國玉米技術合作框架合同
- 畢業(yè)未就業(yè)合同樣本:就業(yè)創(chuàng)業(yè)見習
- 大型水利設施工程勞務分包合同
- AQ 6111-2023個體防護裝備安全管理規(guī)范知識培訓
- 水滸傳讀書分享會
- GB/T 44744-2024糧食儲藏低溫儲糧技術規(guī)程
- 房地產(chǎn)市場報告 -【成都】【銳理】2024年10月丨房地產(chǎn)市場月報
- 《護理禮儀與人際溝通》第五章
- 危急值的考試題及答案
- 《算法設計與分析基礎》(Python語言描述) 課件 第1章 緒論
- 灌砂法壓實度自動計算表(華巖軟件)
- 中華民族共同體的歷史、現(xiàn)實與未來
- 魯科版小學四年級下冊綜合實踐活動教案(適合山東科學技術版教材)
- 新漢語水平考試(HSK6級)真題
評論
0/150
提交評論