1. 程式人生 > >第四章——自頂向下語法分析方法

第四章——自頂向下語法分析方法

一、語法分析器的功能 語法分析器的任務:判斷所給單詞串是不是給定文法的正確句子。 1、確定的自頂向下分析思想: 從文法的識別符號出發、根據當前的輸入符號、唯一的確定一個產生式、用產生式右部的符號串代替相應的非終結符往下推。能構造成功則是句子,否則不是。 2、什麼樣的文法可以用自頂向下的分析方式 ① ( 1 )每個產生式的右部都由終結符開始 (2)產生式的右部以不同的終結符號開始的 (3)無空產生式U–>ε(這裡是怕出現選擇,到底是選空串佔位置還是選非空的串往下分析) 在這裡插入圖片描述

推導的時候因為右部以不同的終結符號開始,所以當有輸入串的時候,比如說pccadd, 串以p開頭 ,就寫成pA , 然後以c開頭,就寫成aAd,以此類推。

在這裡插入圖片描述 ② 特點: (1)每個產生式的右部並非都是由終結符號開始。 (2)每個產生式如果左部相同,右部以不同的終結符號或非終結符號開始,且首符號集不相同。 (3)無空產生式 首符號集:非終結符能推出來的句子的首個非終結符號 比喻First(A)={c,a} , First(B) = {d , b}

	在選的時候,根據最左側符號進行選擇,因為首符號集不同。

在這裡插入圖片描述

特點: (1)有空產生式 (2)首符號集和後繼符號集不相交。 在這裡插入圖片描述