步子百科步子百科

语法分析器

在计算机科学和语言学中,语法语法分析(英:Syntactic analysis,分析也叫Parsing)是语法根据某种给定的形式文法对由单词序列(如英语单词序列)构成的输入文本进行分析并确定其语法结构的一种过程。

中文名:语法分析器

英文名:Parser

领域:编译原理

作用:进行语法分析

简介

语法分析器(parser)通常是分析作为编译器或解释器的组件出现的,它的语法作用是进行语法检查、并构建由输入的分析单词组成的数据结构(一般是语法分析树、抽象语法树等层次化的语法数据结构)。语法分析器通常使用一个独立的分析词法分析器从输入字符流中分离出一个个的“单词”,并将单词流作为其输入。语法实际开发中,分析语法分析器可以手工编写,语法也可以使用工具(半)自动生成。分析[1]

分类

语法分析器的语法任务主要是确定是否可以以及如何从语法的起始符号推导出输入符号串(输入文本),主要可以通过两种方式完成:

自顶向下分析:根据形式语法规则,分析在语法分析树的语法自顶向下展开中搜索输入符号串可能的最左推导。单词按从左到右的顺序依次使用。

自底向上分析:语法分析器从现有的输入符号串开始,尝试将其根据给定的形式语法规则进行改写,最终改写为语法的起始符号。

参考资料

1.语法分析器·机械之心