- 3
- 0
- 约2.01千字
- 约 22页
- 2018-11-29 发布于天津
- 举报
第七章动作文法与属性文法
第七章 动作文法与属性文法 任课教师 王养廷 主要内容 属性文法 继承属性 综合属性 属性树 属性求值 拷贝型属性文法 1 属性文法 属性文法 带属性的文法,1968年Knuth提出 作用 描述静态语义 特点 类似于尾动作文法 属性文法= 文法产生式 + 属性计算规则 比动作文法 规范 级别高 使用时受到限制 1 属性文法 属性文法的思想 对每个语法符号引进相关的属性符号 对每个产生式写出计算属性的属性规则 属性文法包括 文法内容 语义内容 属性符号的定义 属性规则的定义 1 属性文法 属性规则的形式 属性变量=属性表达式 说明 规则是一个赋值结构 属性变量 属性表达式:包括属性变量和常量 1 属性文法 属性计算 对于产生式A→BC 图P260 描述属性的计算方法 说明P261 想象一下,对于一个表达式是如何计算的? 1 属性文法 属性文法思想 每个文法符号定义相关的属性 每个产生式有一个求值规则 1 属性文法 属性分类 继承属性 相当于输入属性 有父结点和兄弟结点的属性值决定 综合属性 相当于输出属性 有本结点的继承属性和子结点的属性决定 1 属性文法 属性定义 为了描述属性,为每个属性定义: 名字 类型 类别 例如表达式 E ↓senv:SEnv ↓denv:DEnv ↑etype:EType ↑eval: EValue Id ↑name: string n ↑val: integer 1 属性文法 属性规则 L→X1 X2…Xk //X1.i = e1 Xk.i = ek L.s = e0 // 注意: 属性规则没有次序 属性规则并不代表要进行属性计算 Xi可以依赖其后面的属性 定义产生式右部的继承属性规则 定义产生式左边的综合属性规则 1 属性文法 属性规则举例 1 属性文法 属性规则举例 1 属性文法 文法 E → n E →(E) E →E + E 属性文法 E → n E.val :=n.val E →(E1) E.val :=E1.val E →E1 + E2 E.val :=E1.val + E2.val 说明 1 属性文法 属性文法举例 例子:P245 说明 属性文法与尾动作文法区别 属性规则不是语义动作 属性规则只有求值规则,而无顺序 每个属性定义一次 那些属性变量可以有规则受限 2 继承属性与综合属性 属性类别 继承属性 综合属性 说明 开始符号没有继承属性 终极符号只能有综合属性 举例 P246图 讲解 3 属性规则 左部变量要求 产生式右部符号的继承属性变量 产生式左部符号的综合属性变量 属性规则次序 先确定属性类型 再写出属性规则 3 属性规则 举例 P247 说明 4 属性树与属性依赖 属性依赖 由属性规则确定 属性依赖图 节点为属性域 边表示依赖 是一个有向图 5 属性求值 定义SynthVal(S) 方法 对于给定的输入串α,根节点的继承属性和叶结点的综合属性已经确定。 计算属性树中节点的属性值 重复上述过程直到根节点的所有综合属性计算完成为止 举例 P249 6 拷贝型属性文法 定义 每个属性规则具有拷贝形式的赋值结构 右部为一个常量或一个属性变量 符号 E → BCSUB 相当于 SUB.left := B.s SUB.right := C.s E.s := SUB.result 6 拷贝型属性文法 举例 P250 说明 总结 重点 属性文法的基本概念 属性求值规则 * * P.val = E.val P→(E) n ↑ val:integer P.val = n.val P→n P ↑ val:integer E1.val = E2.val+ P.val E1→ E2 +P E↑val:integer E.val = P.val E→P 属性定义 属性规则 产生式 id ↑ name:string P.val = lookup(id. name, p.devn) P→n P.val = E.val P→(E) n ↑ val:integer P.val = n.val P→n P ↓env:DEnv ↑ val:integer E1 .env = E.env P.env = E.env E.val = E1.val+ P.val E→ E1 +P E ↓env:DEnv ↑val:integer P.env = E.env E.val = P.val E→P 属性定义 属性规则 产生式 *
您可能关注的文档
最近下载
- 员工奖金保密协议9篇.docx VIP
- 2025年东莞市东华初级中学中考数学模拟试卷附答案解析.pdf
- 2026年河南质量工程职业学院单招职业适应性测试备考题库及答案解析.docx VIP
- 2024年河南质量工程职业学院单招职业适应性测试试题及答案解析.docx VIP
- 2026年河南质量工程职业学院单招职业适应性测试题库有答案解析.docx VIP
- 2026年河南质量工程职业学院单招职业适应性考试备考试题及答案解析.docx VIP
- 2026年河南质量工程职业学院单招职业适应性测试备考试题及答案解析.docx VIP
- 2026年河南质量工程职业学院单招职业适应性测试题库及答案解析.docx VIP
- 6.1《北方地区自然特征与农业》课件-2023-2024学年人教版地理八年级下册.pptx VIP
- 2025年高考英语全国卷Ⅰ续写分析与教学策略.pptx VIP
原创力文档

文档评论(0)