文件名称:编译原理实验.zip
文件大小:568KB
文件格式:ZIP
更新时间:2023-02-02 16:00:57
编译原理 C++
一 上机实习目的:理解编译程序的构造原理,掌握编译程序的构造方法与技术。通过实习,使学生既加深对编译原理基础理论的理解,又提高动手能力,特别是提高软件设计能力。 二、上机实习要求: 在理解编译原理基本思想的基础上,选择一个自己熟悉的程序设计语言,完成编译程序的设计和实现过程。本实习要求学生采用递归下降分析技术,这是一种自顶向下的的编译方法,其基本思想是对语言的每个(或若干个)语法成分编制一个处理子程序,从处理<程序>这个语法成分的子程序开始,在分析过程中调用一系列过程或函数,对源程序进行语法和语义分析,直到整个源程序处理完毕为止 本上机实习是为C语言(子集)设计一个编译程序,完成词法分析、语法分析、语义分析等功能,并生成某种机器上的目标代码(汇编语言)或中间代码(四元式)。 三、上机实习步骤 1.阅读《上机实习指导书》。 2.根据设计要求写算法,画程序框图 3.根据框图编写编译程序 4.输入编译程序并上机调试 5.撰写上机实习报告 四、上机实习内容 1、题目:C语言小子集编译程序的实现 2、C语言小子集的文法规则: <程序>::=main(){<分程序>} <分程序>::=<变量说明部分>;<语句部分> <变量说明部分>::=<变量说明><标识符表> <变量说明>::=int<标识符表>::=<标识符表>,<标识符> <标识符表>::=<标识符> <标识符>::=<字母> <标识符>::=<标识符><字母> <标识符>::=<标识符><数字> <语句部分>::=<语句部分>;<语句>|<语句> <语句>::=<赋值语句>|<条件语句>|<循环语句>| <赋值语句>::=<标识符>=<表达式> <条件>::=<表达式><关系运算符><表达式> <表达式>::=<项>|<表达式><加法运算符><项> <项>::=<因子>|<项><乘法运算符><因子> <因子>::=<标识符>|<常量>|(<表达式>) <常量>::=<无符号整数> <无符号整数>::=<数字序列> <数字序列>::=<数字序列><数字> <数字序列>::=<数字> <加法运算符>::=+|- <乘法运算符>::=*|/ <关系运算符>::=<|>|!=|>=|<=|== <复合语句>::={<语句部分>} <语句1>::=<语句>|<复合语句> <条件语句>::=if(<条件>)<语句1>else<语句1> <循环语句>::=while(<条件>)do<语句1> <字母>::=a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z <数字>::=0|1|2|3|4|5|6|7|8|9
【文件预览】:
编译原理实验
----in.txt(132B)
----编译原理.exe(2.32MB)
----out.txt(245B)
----编译原理.cpp(12KB)