魔王語言解釋
[問題描述]
有一個魔王總是使用自己的一種非常精練而又抽象的語言講話,沒有人能聽得懂,但他的語言是可以逐步解釋成人能聽懂的語言,因為他的語言是由以下兩種形式的規則由人的語言逐步抽象上去的:
(1) α 轉換為 β1β2…βm
(2) (θδ1δ2…δn) 轉換為 θδnθδn-1… θδ1θ
在這兩種形式重,從左到右均表示解釋。試寫一個魔王語言的解釋兄,把他的話解釋成人能聽得懂的話。
[基本要求]
用下述兩條具體規則和上述規則形式(2)實現。設大寫字母表示魔王語言的詞匯;小寫字母表示人的語言詞匯;希臘字母表示可以用大寫字母或小寫字母代換的變量。魔王語言可含人的詞匯。
(1)B 轉換為 tAdA
(2)A 轉換為 sae
[測試數據]
B(exnxgz)B解釋成tsaedsaeezegexenehetsaedsae
若將小寫字母與漢字建立下表所示的對應關系,則魔王說的話是:“天上一只鵝地上一只鵝鵝追鵝趕鵝下鵝蛋鵝恨鵝天上一直鵝地上一只鵝”。
t d s a e z g x n h
天 地 上 一只 鵝 追 趕 下 蛋 恨
【實驗名稱】遞歸子程序分析器的設計與實現
【實驗目的和要求】
設計、編制,調試一個典型的語法分析程序,實現對如下的遞歸子程序語法的分析,進一步掌握常用的語法分析方法。
【實驗內容】
① 本分析程序所分析的文法如下:
G[E]:
E->eBaA
A->a|bAcB
B->dEd|aC
C->e|dC
② 針對上述文法編寫一遞歸子程序分析程序,該程序的輸入是任意符號串,輸出是本次輸入的符號串是否是該文法的句子的結論。
【環境】
Windows Pc 機,任何版本的c語言
其中還包括java語言實現的程序