每種程序設計語言都有描述程序語法結構的規則。例如,Pascal程序由程序塊(又叫分程序)構成,程序塊由語句組成,語句由表達式組成,表達式由記號組成等等。這些規則可以用上下文無關文法或BNF范式(Backus-Naur Form)描述。 編譯器常用的文法分析方法有自上而下和自下而上兩種。正如它們的名字所示,自上而下分析器建立分析樹是從根結點到葉結點,而自下而上分析器恰好反過來。它們的共同點是從左向右地掃描輸入,每次一個符號。 最有效的自上而下和自下而上的分析法都只能處理上下文無關文法的子類。這些子類足以描述程序設計語言的大多數語法結構,其中LL文法的分析器通常用手工實現,而LR文法的分析器通常利用自動工具構造。 本章致力于編譯器采用的典型語法分析方法。我們首先提出有關上下文無關文法的基本概念,然后介紹適合于手工實現的預測分析技術,最后給出自動工具用的LR分析算法。由于程序員準備的代碼經常會出現一些語法錯誤,因此我們還擴展所介紹的分析方法,使之能從常見的錯誤中恢復過來。 3.1 上下文無關文法 ..... 3.4 自下而上分析 3.6 二義文法的應用
上傳時間: 2013-12-25
上傳用戶:hanli8870
幫助文件收集了中國軟件開發實驗室(www.cndev-lab.com)管寧的一些c++方面的文章 希望能幫助初學者在學習的過程中節約不少時間 文章收集及CHM制作:Dludream 推薦C++學習QQ群:5632640 謝謝烈火雨和管寧的支持 有問題可以到我的blog:http://dludream.blogchina.com
標簽: cndev-lab Dludream www CHM
上傳時間: 2015-10-23
上傳用戶:aysyzxzm
1. 直接安裝并運行案例程序 運行“安裝程序”文件夾中的setup.exe文件,按照系統提示進行安裝,可使本例程序在任何Windows系統上運行。 登錄時初始用戶名和密碼為:admin,manage 2. 閱讀和執行源代碼程序 (1)復制光盤內容到本地機,并取消相應目錄及其下屬內容的“只讀”屬性。 (2)改變數據庫別名 使用BDE Administrator在本地機器上添加一個Paradox數據庫別名命名為wuzi,指定路徑為實際數據庫文件所在路徑,比如:項目文件夾在E盤根目錄下,則指定數據庫別名路徑為“E:\物資管理系統\db”。 (3)運行程序 雙擊物資管理系統文件夾內名為MDIApp的工程文件,在Delphi工作環境下打開工程,單擊運行程序即可。 3. 另附:myLogin.dll的源代碼
上傳時間: 2014-03-11
上傳用戶:Ants
國外一學者開發的數據描述方法的源代碼,幾乎包括了所有的數據描述方法,有SVDD,KSVDD等等,將會是一個很好的用于野點檢測和模擬識別的工具箱,可直接使用(本人已用過)
上傳時間: 2015-10-24
上傳用戶:417313137
問題描述: 雖然離開浦口了,但在浦口校區后山大家還都有印象吧,可你知道有一座小山在冬天下大雪的時候是可以滑雪的,SEU很喜歡滑雪,這并不奇怪, 因為滑雪的確很刺激,可是為了獲得速度,滑雪區域必須向下傾斜,而且當你到底時不得不重新走到上面重滑。SEU想知道在這個區域中最長的滑坡。區域由一個二維數組給出。數組的每一個數字表示山坡上一個點的高度。 下面是一個例子: 一個人可以從一個點滑向上下左右相鄰的四個點之一,當且僅當高度減小。在上面的例子中,一條可行的滑坡為24-17-16-1(從24開始,在1結束)。當然25-24-23-…-3-2-1更長。事實上,這是最長的一條。 輸入要求: 從文件輸入,輸入的第一行為表示區域的二維數組的R行數和C列數(都在1到100之間)。下面是R行,每行有C個數,代表高度。 輸出要求: 輸出數據到文件,輸出區域中最長滑坡的長度。 輸入樣例: 5 5 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 輸出樣例:
標簽:
上傳時間: 2013-12-29
上傳用戶:WMC_geophy
編譯原理的課程設計,對PL0進行擴充完成內容如下:1. 基本內容: (1)增加單詞:保留字;運算符 (2)修改單詞:不等號# 改為 <> (3)增加條件語句的ELSE子句 (4)擴充賦值運算:+= 和 -= (5)擴充語句(Pascal的FOR語句) 2. 選做內容: (1)增加運算:++ 和 --。 (2)增加類型:① 字符類型; ② 實數類型。 (3)增加一維數組類型(可增加指令)。 (4)其他典型語言設施:case語句;repeat語句。
上傳時間: 2015-11-02
上傳用戶:徐孺
GStreamer是一個開源的多媒體框架庫。利用它,可以構建一系列的媒體處理模塊,包括從簡單的ogg播放功能到復雜的音頻(混音)和視頻(非線性編輯)的處理。 應用程序可以透明的利用解碼和過濾技術。開發者可以使用簡潔通用的接口來編寫一個簡單的插件來添加新的解碼器或濾鏡。
上傳時間: 2013-12-30
上傳用戶:yzhl1988
AOI(面向屬性的歸納)是數據分析中有效的數據約簡手段,該算法可以實現對屬性的消減和泛化。
上傳時間: 2013-12-18
上傳用戶:liuchee
(1) 利用匯編語言程序設計編寫用鍵盤選擇計算機演奏流行音樂樂曲的程序,歌曲清單至少包括3首。 (2) 程序應有操作提示、輸入和輸出,界面追求友好,最好是菜單式的界面。 (3) 設計若干用例(測試數據),上機測試程序并分析(評價)所設計的程序。 (4) 設計報告格式按附件要求書寫。課程設計報告書正文的內容應包括: 在正文第一行寫課程設計題目; 1.需求說明(要求、功能簡述)或問題描述; 2.設計說明(簡要的分析與概要設計); 3.詳細的算法描述; 4.源程序與執行結果(含測試方法和測試結果); 5.使用說明; 6.總結,包括設計心得(設計的特點、不足、收獲與體會)和展望(該程序進一步改進擴展的設想)。
上傳時間: 2014-08-12
上傳用戶:cooran
匯編語言寫的《歌曲演奏程序》 有源代碼(詳細注釋),還有詳細的試驗報告 (當時得了98分,全班最高) (1) 編寫用鍵盤選擇計算機演奏歌曲的程序,歌曲清單至少包括3首。 (2) 程序應有操作提示、輸入和輸出,界面追求友好,最好是菜單式的界面。 (3) 設計若干用例(測試數據),上機測試程序并分析(評價)所設計的程序。 (4) 設計報告格式按附件要求書寫。課程設計報告書正文的內容應包括: 在正文第一行寫課程設計題目; 1.需求說明(要求、功能簡述)或問題描述; 2.設計說明(簡要的分析與概要設計); 3.詳細的算法描述; 4.源程序與執行結果(含測試方法和測試結果); 5.使用說明; 6.總結,包括設計心得(設計的特點、不足、收獲與體會)和展望(該程序進一步改進擴展的設想)。
上傳時間: 2013-12-18
上傳用戶:banyou