【實驗名稱】遞歸子程序分析器的設計與實現
【實驗目的和要求】
設計、編制,調試一個典型的語法分析程序,實現對如下的遞歸子程序語法的分析,進一步掌握常用的語法分析方法。
【實驗內容】
① 本分析程序所分析的文法如下:
G[E]:
E->eBaA
A->a|bAcB
B->dEd|aC
C->e|dC
② 針對上述文法編寫一遞歸子程序分析程序,該程序的輸入是任意符號串,輸出是本次輸入的符號串是否是該文法的句子的結論。
【環境】
Windows Pc 機,任何版本的c語言
其中還包括java語言實現的程序
【實驗名稱】LL(1)分析總控程序的設計與實現
【實驗目的和要求】
設計、編制,調試一個典型的語法分析程序,實現對語法分析程序所提供的單詞序列進行語法分析檢查和結構分析,進一步掌握常用的語法分析方法。
要求:
① 程序具有通用性。即所編寫的LL(1)語法分析程序能夠適用于不同文法以及各種輸入單詞串(為簡單起見,可講單詞串是為字符串),并能夠判斷文法是否為LL(1)文法。
② 有運行實例。對于輸入的一個文和一個單詞串,所編制的語法分析程序應能正確的判斷,此單詞是否為該文法的句子,并要求輸出分析過程。
為了對數據進行處理,UIMA 應用程序將使用分析引擎,而后者包含實際進行分析的應用程序、Annotator 和 XML 描述符文件,其中,XML 描述符文件包含關于類以及其要接收和返回的信息等方面的內容。
還可以將簡單的分析引擎組合為更為復雜的分析引擎。例如,定位本地事故報告和廣播流量報告的分析引擎可能包含一個查找事故的分析引擎、一個查找位置的分析引擎,以及一個分析前兩個引擎提供的注釋的分析引擎。總體引擎描述符將確定如何在這些分析引擎間傳遞 CAS 對象。
事實上,描述符控制任何應用程序如何訪問分析引擎,而這種機制在此情況下極為方便。如果創建了相應的描述符,可以將其傳遞到應用程序,而該應用程序甚至不知道所使用的是 Web 服務。