- 1
- 0
- 约6.15千字
- 约 88页
- 2017-04-22 发布于湖北
- 举报
第8章
语法制导翻译与中间代码生成;8.1 属性文法;静态语义审查
(1)类型检查。根据类型相容性要求,验证程序中执行的每个操作是否遵守语言的类型系统的过程,编译程序必须报告不符合类型系统的信息。
(2)控制流检查。控制流语句必须使控制转移到合法的地方。例如,在C语言中break语句使控制跳离包括该语句的最小while、for或switch语句。如果不存在包括它的这样的语句,则就报错。; (3)一致性检查。在很多场合要求对象只能被定义一次。例如Pascal语言规定同一标识符在一个分程序中只能被说明一次,同一case语句的标号不能相同,枚举类型的元素不能重复出现等等。
(4)上下文相关性检查。比如,变量名字必须先声明后引用;
(5)名字的作用域分析。各变量的作用域可能是不一样的,要通过分析明确各变量的作用域。
解释执行动态语义
(计算)生成代码(中间代码或目标代码)
;例:有文法G[E]:
E → T1+T2 | T1 or T2
T → num|true|false
对输入串 2+6 语法树如图:;类型检查的属性文法:
E → T1+T2 {T1.t=int AND T2.t=int}
E → T1 or T2 {T1.t=bool AND T2.t=bool}
T → num {T.t:=int}
T → true {T.t:=boo
您可能关注的文档
最近下载
- 2025年南通醋酸纤维有限公司题库带答案分析试卷及答案.docx VIP
- 中考语文议论文阅读思维导图02分析论点.pdf VIP
- JY∕T 0584-2020 扫描电子显微镜分析方法通则(教育).pdf VIP
- 福建省莆田市仙游县重点中学2025-2026学年高一下学期4月期中语文试题及参考答案.pdf VIP
- 2025海南省中考历史试题卷(含答案解析).docx
- 汉森打印软件说明书.docx
- JTY-GD-G7X点型光电感烟火灾探测器说明书.pdf
- 2026年高端厨电智能化发展白皮书.docx
- 运筹学 第2版 课件 第五章 图与网络.pptx
- (二模)郑州市2026年高三高中毕业年高三级第二次质量预测数学试卷(含答案).pdf
原创力文档

文档评论(0)