解析所需的内容
在执行解析时,在开始之前,需要指定语言的语法 。解析器还需要令牌源。
解析器可以是手写代码,也可以使用解析器生成器工具 。如果使用了解析器生成器工具,那么如果你的平台中尚未包含该工具,则需要下载并安装该工具。
语法定义
解析器的语法通常需要以上下文自由形式编写。通常使用诸如 BNF(Backus-Naur 形式)或 EBNF(扩展后 Naur 形式)之类的符号。通常用于描述编程语言的其他符号可能是铁路图 。
词汇分析
通常由词法分析器(或扫描仪) 为解析器提供令牌。更多细节可以在词法分析器(TBC)的文档中找到。
解析技术
手工编写一个解析器,一个合适的算法将需要选择适合双方语言被解析和执行手段。解析算法分为自上而下解析和自下而上 解析两种类型。在开始编写解析器时,初学者更容易学习(递归)自顶向下解析器。
分析器生成器工具
创建解析器的最常用方法是使用解析器生成器工具。有很多这样的工具,但最常用的一些是: