第八章 语法制导翻译和中间代码生成 概述 语义处理 概述 语义形式化 语义建模 文法模型---- 属性文法 命令式或操作式模型 ----- 操作语义学 应用式模型-----指称语义学 公理式模型-----公理语义学 属性文法 表达式文法 E—T+T| T or T T—n | b E?T1 + T2 { T1.type = int T2.type= T1.type E.type :=int} E ?T1 or T2 { T1.type = bool T2.type= T1.type E.type :=bool} T ? n { T.type := int} T ? b { T.type := bool} 操作语义 描述一段程序的含义是通过执行该段程序所改变的计算机(虚拟计算机)状态来反映。这个计算机的状态与程序执行时的状态相对应:包括变量的所有值,可执行程序本身,各种系统定义的内部数据结构。计算机里所有的寄存器的值和存储单元的值作为计算机的状态,用一组形式定义的操作来说明执行一条指令相应的状态怎样变化。 For (expr1;expr2;expr3){ expr1; ... Loop:if expr2=0 goto out } … expr3; goto loop out: ... 公理语义 一个语言的每个语法成分的含义定义为公理和演绎规则,用于推导出该成分执行的效果。 公理语义概念是随着程序正确性的证明而发展的。当正确性证明能构造时表明程序执行它的规格说明所描述的计算。在一个证明中,每一个语句之前之后都有一个逻辑表达式对程序的变量进行约束,以此说明这个语句的含义。 一般的记号 {P} S {Q} 如果在语句S执行前P为真,则在语句S执行并终止后Q为真。 演绎规则的例子 规则 前驱 后继 赋值:x:=expr {P(expr)}x:=expr{P(x)} While: {P ∧ B} S {P} {P} while B do S end {P ∧ (not B)} if--then--else {B ∧ P} S1 {Q}, {(not B) ∧ P} S2 {Q} {P} if B then S1 else S2{Q} 指称语义 指称语义的基本概念是给每一段程序实体定义一个数学意义上的对象,和一个从实体实例向数学意义对象的映射的函数 特点: 不但对全部程序赋予全文而且对程序设计语法 每一个语法成分短语(表达式,命令,声明…) 都给予含义。 每一个语法成分(短语)的含义是以它的自 成分的含义的术语来定义的。 即 语义结构 平行于语法结构。 语义函数: 程序设计语言的语义利用映射函数来证 明。 语义函数将短语映射到它的指称。 例:
您可能关注的文档
- 第八单元 代谢总论 第九单元 生物能学及生物氧化 第十单元 糖代谢剖释.doc
- 第八单元 肺癌剖释.doc
- 第八讲 化学键 有答案剖释.doc
- 第八节 能量解析.ppt
- 第八课时 设置带项目符号和编号的段落格式解析.ppt
- 第八课心肺复苏解析.ppt
- 第八章 动机解析.ppt
- 第八章 Linux下MTD驱动课件.pptx
- 第八章 氨基酸代谢习题剖释.doc
- 第八章 玻璃体病剖释.doc
- 浙江省温州市2024-2025学年七年级上学期语文期末考查卷.docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(原卷版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(解析版).docx
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末语文试题(解析版).docx
- 精品解析:北京市东城区汇文中学2025-2026学年八年级上学期期中语文试题(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(原卷版).docx
- 精品解析:2024-2025学年广东省广州市从化区街口镇中心小学人教版五年级上册期中测试数学试卷(解析版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(解析版).docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(解析版).docx
原创力文档

文档评论(0)