簡介
在計算機科學和語言學中,語法分析(英:Syntacticanalysis,也叫Parsing)是根據某種給定的形式文法對由單詞序列(如英語單詞序列)構成的輸入文本進行分析並確定其語法結構的一種過程。語法分析器通常使用一個獨立的詞法分析器從輸入字元流中分離出一個個的“單詞”,並將單詞流作為其輸入。實際開發中,語法分析器可以手工編寫,也可以使用工具(半)自動生成。
分類
語法分析器的任務主要是確定是否可以以及如何從語法的起始符號推導出輸入符號串(輸入文本),主要可以通過兩種方式完成:自頂向下分析:根據形式語法規則,在語法分析樹的自頂向下展開中搜尋輸入符號串可能的最左推導。單詞按從左到右的順序依次使用。
自底向上分析:語法分析器從現有的輸入符號串開始,嘗試將其根據給定的形式語法規則進行改寫,最終改寫為語法的起始符號。