[實驗任務]
完成以下描述算術表示式的ll(1)文法的遞迴下降分析程式
g[e]:
e→te′
e′→ate′|ε
t→ft′
t′→mft′|ε
f→ (e)|i
a→+|-
m→*|/
說明:終結符號i為使用者定義的簡單變數,即識別符號的定義。
[設計要求]
1、 輸入串應是詞法分析的輸出二元式序列,即某算術表示式「實驗專案一」的輸出結果。輸出為輸入串是否為該文法定義的算術表示式的判斷結果。
2、 遞迴下降分析程式應能發現輸入串出錯。
3、 設計兩個測試用例(盡可能完備,正確和出錯),並給出測試結果。
demo.cpp
bool e()
}return false;
}bool e_prime()
else return false;
}else return false;
}return true;
}bool t()
}return false;
}bool t_prime()
else return false;
}else return false;
}return true;
}bool f() }}
else if (a == 'i')
return false;
}bool a()
else if (a == '-')
return false;
}bool m()
else if (a == '/')
return false;
}
編譯原理 實驗2 遞迴下降語法分析程式設計
實驗要求 1 待分析的簡單語言的詞法同實驗1 2 待分析的簡單語言的語法 用擴充的bnf表示如下 1 程式 begin 語句串 end 2 語句串 語句 3 語句 賦值語句 4 賦值語句 id 表示式 5 表示式 項 6 項 因子 7 因子 id num 表示式 3 語法分析程式的功能 輸入單詞串以...
遞迴下降語法分析實驗
通過設計 開發乙個高階語言的遞迴下降語法分析程式,實現 對詞法分析程式所提供的單詞序列進行語法檢查和結構分析,加 深對相關課堂教學內容的理解,提高語法分析方法的實踐能力。1 理解語法分析在編譯程式中的作用,以及它與詞法分析程式的 關係 2 掌握遞迴下降語法分析方法的主要原理 3 理解遞迴下降分析法對...
實驗二 遞迴下降語法分析
一 實驗目的 利用c語言編制遞迴下降分析程式,並對簡單語言進行語法分析。編制乙個遞迴下降分析程式,實現對詞法分析程式所提供的單詞序列的語法檢查和結構分析。二 實驗原理 每個非終結符都對應乙個子程式。該子程式根據下乙個輸入符號 select集 來確定按照哪乙個產生式進行處理,再根據該產生式的右端 三 ...