以下哪些方法是屬於自上而下的語法分析方法()
A.回溯分析法
B.預測分析法
C.算符優先分析法
D.遞歸下降分析法
正確答案:ABD
2. 簡述什麼是自上而下分析法
上而下分析就是從文法的開始符出發並尋找出這樣一個推導序列:推導出的句子恰為輸入符號串;或者說,能否從根結點出發向下生長出一棵語法樹,其葉結點組成的句子恰為輸入符號串。顯然,語法樹的每一步生長(每一步推導)都以能否與輸入符號串匹配為准,如果最終句子得到識別,則證明輸入符號串為該文法的一個句子;否則,輸入符號串不是該文法的句子。
3. 編譯的語法分析
編譯程序的語法分析器以單詞符號作為輸入,分析單詞符號串是否形成符合語法規則的語法單位,如表達式、賦值、循環等,最後看是否構成一個符合要求的程序,按該語言使用的語法規則分析檢查每條語句是否有正確的邏輯結構,程序是最終的一個語法單位。編譯程序的語法規則可用上下文無關文法來刻畫。
語法分析的方法分為兩種:自上而下分析法和自下而上分析法。自上而下就是從文法的開始符號出發,向下推導,推出句子。而自下而上分析法採用的是移進歸約法,基本思想是:用一個寄存符號的先進後出棧,把輸入符號一個一個地移進棧里,當棧頂形成某個產生式的一個候選式時,即把棧頂的這一部分歸約成該產生式的左鄰符號。
4. 簡述什麼是自上而下的語法分析和自下而上的語法分析
上而下分析就是從文法的開始符出發並尋找出這樣一個推導序列:推導出的句子恰為輸入符號串;或者說,能否從根結點出發向下生長出一棵語法樹,其葉結點組成的句子恰為輸入符號串。顯然,語法樹的每一步生長(每一步推導)都以能否與輸入符號串匹配為准,如果最終句子得到識別,則證明輸入符號串為該文法的一個句子;否則,輸入符號串不是該文法的句子。