解析所需的內容

在執行解析時,在開始之前,需要指定語言的語法 。解析器還需要令牌源。

解析器可以是手寫程式碼,也可以使用解析器生成器工具 。如果使用瞭解析器生成器工具,那麼如果你的平臺中尚未包含該工具,則需要下載並安裝該工具。

語法定義

解析器的語法通常需要以上下文自由形式編寫。通常使用諸如 BNF(Backus-Naur 形式)EBNF(擴充套件後 Naur 形式)之類的符號。通常用於描述程式語言的其他符號可能是鐵路圖

詞彙分析

通常由詞法分析器(或掃描器) 為解析器提供令牌。更多細節可以在詞法分析器(TBC)的文件中找到。

解析技術

手工編寫一個解析器,一個合適的演算法將需要選擇適合雙方語言被解析和執行手段。解析演算法分為自上而下解析自下而上 解析兩種型別。在開始編寫解析器時,初學者更容易學習(遞迴)自頂向下解析器。

分析器生成器工具

建立解析器的最常用方法是使用解析器生成器工具。有很多這樣的工具,但最常用的一些是: