解析所需的內容
在執行解析時,在開始之前,需要指定語言的語法 。解析器還需要令牌源。
解析器可以是手寫程式碼,也可以使用解析器生成器工具 。如果使用瞭解析器生成器工具,那麼如果你的平臺中尚未包含該工具,則需要下載並安裝該工具。
語法定義
解析器的語法通常需要以上下文自由形式編寫。通常使用諸如 BNF(Backus-Naur 形式)或 EBNF(擴充套件後 Naur 形式)之類的符號。通常用於描述程式語言的其他符號可能是鐵路圖 。
詞彙分析
通常由詞法分析器(或掃描器) 為解析器提供令牌。更多細節可以在詞法分析器(TBC)的文件中找到。
解析技術
手工編寫一個解析器,一個合適的演算法將需要選擇適合雙方語言被解析和執行手段。解析演算法分為自上而下解析和自下而上 解析兩種型別。在開始編寫解析器時,初學者更容易學習(遞迴)自頂向下解析器。
分析器生成器工具
建立解析器的最常用方法是使用解析器生成器工具。有很多這樣的工具,但最常用的一些是: