全文预览

编译原理实验报告

上传者:qnrdwb |  格式:doc  |  页数:15 |  大小:283KB

文档介绍
用户的源程序中把单词分离出来;Р(2) 翻译单词Р ——把单词转换成机内表示,便于后续处理。Р2.扫描器、识别器、翻译器三者之间的关系是怎样的?Р答:扫描器、识别器、翻译器三者之间的关系是:Р 扫描器的实现要通过识别器和翻译器Р为什么说有限自动机是词法分析的基础?Р答:因为词法分析的包括:识别--- 识别单词的有限自动机。Р?和翻译--- 根据有限自动机所识别出的对象,完成从单词串到单词的TOKEN串的翻译。我们可以看出,不论是识别还是分析,都是应用有限自动机,所以可以说有限自动机是词法分析的基础。Р实验2:中间代码生成器的设计Р实验目的Р?熟悉算术表达式的语法分析与中间代码生成原理。Р实验要求Р?(1) 设计语法制导翻译生成表达式的四元式的算法;Р(2) 编写代码并上机调试运行通过。Р·输入——算术表达式Р·输出——语法分析结果Р相应的四元式序列Р(3) 本实验已给出递归子程序法的四元式属性翻译文法的设计,鼓励学生在此基础上进行创新,即设计LL(1)分析法或LR(0)分析法的属性翻译文法,并根据这些属性翻译文法,使用扩展的语法分析器实现语法制导翻译。Р设计概要Р(1) 算术表达式文法Р G(E): E à E ω0 T | TР T à T ω1 F | FРF à i | (E)Р(2) 文法变换РG’(E) E à T {ω0 T}Р T à F {ω1 F}РF à i | (E)Р(3) 属性翻译文法: РE à T {ω0 “push(SYN, w)” T “QUAT”}Р T à F {ω1 “push(SYN, w)” F “QUAT”}РF à i “push(SEM, entry(w))”| (E)Р其中:· push(SYN, w) —当前单词w入算符栈SYN;Р · push(SEM, entry(w)) —当前w在符号表中的入口值压入语义栈SEM;

收藏

分享

举报
下载此文档