Search CTRL + K

Syntactic Analysis

语法分析(parsing, syntax analysis or syntactic analysis) 是分析句子是否符合 形式语法 的过程,也就是说给定一个 形式语法 和句子,判断句子是否能从 形式语法推导 到。

为什么语法分析大都使用 上下文无关语法

复杂性和功能性的折中,上下文无关语法 最适合。

如果使用更简单的文法,比如 LL 文法,就会有更多任务会分配到语义分析/词法分析,难以设计。

如果使用更复杂的文法,比如 上下文有关语法,那么语法分析本身就会变得非常复杂,低效。

语法分析 分为两类实现算法:

语法分析器 通常作为编译器的组件出现,进行语法检查,并从输入符号构建语法分析树。

实际开发中,语法分析器 可以手动编写,也可以利用工具(半)自动生成,比如 yacc。


Wikipedia

Parsing, syntax analysis, or syntactic analysis is the process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar.[1]


  1. https://en.wikipedia.org/wiki/Parsing ↩︎