基于属性文法的语义计算

在上一篇文章《词法分析与语法分析的原理及部分实现》中,我已经将词法分析与语法分析的大部分内容完全地展现在读者眼前,接下来就是关于属性文法与语义计算的相关要义。

属性文法是用来描述某些附加在一个上下文无关文法中的属性,这类属性可以是值、类型、符号表的内容等等,而且这一属性文法也带有一个语义规则用于描述属性在文法中的终结符与非终结符之间所传递的信息关联。

本文所要讲授的是基于属性文法的语义计算方法,一个是通过遍历分析树进行语义计算;另一个是在语法分析的同时进行语义计算,也就是常说的单遍方法。

本文要求读者至少具备以下知识储备:

  1. 上下文无关文法的基本认识
  2. 语法树的简单绘制
  3. 数据结构中“树”的基本了解

通过学习本文读者将会收获以下知识:

  1. 属性文法的原理及其分类
  2. 属性文法的语义计算
    • 基于分析树的语义计算,拓扑排序与依赖图的绘制,带有实例化分析
    • 基于语法分析的单遍计算,包含 S- 属性文法与 L- 属性文法,带有实例化分析

阅读全文: http://gitbook.cn/gitchat/activity/5de22277c588ff689bb5422a

您还可以下载 **** 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

基于属性文法的语义计算