編譯原理中項目的概念
發布時間: 2023-03-08 14:31:02
A. 計算機科學與技術中編譯原理簡答題
時間有點久記得不太真切,用通俗語言說,希望題主盡量查閱書籍參考資料自行驗證理解。
1、什麼是移進項目,什麼是規約項目
這個是自頂向下和自下向上分析時候用到的。所謂移進就是不處理,所謂規約就是處理,合並,替換。比如當前符合某個正規式左部,就用這個正規式右部替換左部,稱為規約。兩種操作的目的都是為了分析整體是否符合語法樹。
2、請給出生成C語言語句序列的文法(假定s表示任意一個語句,它為終結符)
關於這個,我感覺你描述的不是很清楚,因為C語言文法包含的正規式還是挺多的,如果單指statement的話,
statement_listà
statement
| statement_list statement
Statementà
| compound_statement
| expression_statement
| selection_statement
| iteration_statement
| jump_statement
再配合上相應的終結符。
3、能用上下文無關文法生成正規集嗎?為什麼?
可以。不過無法保證不含沖突。
4、計算first集和follow集對於構造自頂向下的語法分析器有什麼作用?
可以用來排除沖突。例如移進-移進沖突,移進-規約沖突。
5、是否可能存在這樣一個DFA,它的所有狀態都是接受狀態,包括其實狀態,為什麼?
這個愛莫能助,據我的構想是可以的,但是這樣的DFA最終都會成為單一狀態DFA。
熱點內容
