总结:编译原理--第四章 语法分析

第四章  语法分析

本章主要是介绍的语法分析方法通常用于编译器中。本章首先介绍几本概念,然后介绍适合手工实现的技术,最后介绍用于自动化工具的算法。因为源程序可能包含语法错误,所以紧接着就是讨论如何扩展语法分析方法,以便从常见错误中恢复。

在设计语言时,每种程序设计语言都有一组精确的规则来描述良构程序的语法结构。比如,在 C 语言中,一个程序由多个函数组成,一个函数由声明和语句组成,一个语句由表达式组成,等等。程序设计语言构造的语法可以使用2.2节中介绍的上下文无关文法或者 BNF 表示法来描述。文法为语言设计者和编译器编写者都提供了很大的便利。

  • 文法给出了一个程序设计语言的精确易懂的语法规约。
  • 对于某些类型的文法,我们可以自动地构造出高效的语法分析器,它能够确定一个源程序的语法结构。同时,语法分析器的构造过程可以揭示出语法的二义性,同时还可能发现一些容易在语言的初始设计阶段被忽略的问题。
  • 一个正确设计的文法给出了一个语言的结构。该结构有助于把源程序翻译为正确的目标代码,也有助于检测错误。
  • 一个文法支持逐步加入可以完成新任务的新语言构造从而迭代地演化和开发语言。如果对语言的实现遵循语言的文法结构,那么在实现中加入这些新构造的工作就变得更加容易。

希望我的总结可以帮助大家,感谢阅读我的博客!

猜你喜欢

转载自blog.csdn.net/weixin_42558631/article/details/81229263