实验报告中用到的动词
试验报告中用到的动词 试验报告中用到的动词 试验报告 试验名称: 用 C 语言实现五种联结词的真值表 试验目的与要求: 通过试验帮助学生更好的驾驭离散数学中的概念、性质和运算。 通过试验提高学生编写试验报告,总结试验结果的实力。 使学生具备程序设计的思想,能过通过自己的努力完成简洁的算法设计和分析。 熟识驾驭命题逻辑中的联结词,从而进一步能用它们来解决实际中的问题。 试验内容提要: 用 C 语言编写出程序实现 p,q 的四种赋值状况,列出它们的非、析取、合取、蕴含和等价的真值表状况。 试验步骤: 用循环限制 p、q 的值,实现五种联结词的依次输出,并在显示屏上出现五种联结词的真值表。 试验数据与分析: 输入 p、q 的四种赋值状况,然后它们的五种联接词的真值表就会呈现上图表的状况。 试验结果与结论: 此次的试验从功能上说达到了题目要求的各个功能,可以依据所给函数式的状况推断真值,可以运算非、合取、析取、蕴涵和等价的五种运算。 总体来说此次的试验还算胜利,只是算法的程序比较简洁,实现的功能 也比较简洁,尝试下一次可以实现更多功能的试验! 成果评定: 试验日期: 2016 年 3 月 12 号 指导老师签名: 《词法分析》 试验报告 书目 书目 1 1 实 验 目的 2 2 试验内容 2 TINY 计 算 机 语 言 描述 2 试验 要求 2 3 此 法 分 析 器 的 程 序 实现 3 状 态 转 换 图 3 程 序 源码 4 实 验 运 行 效 果 截图 9 4 实 验 体会 10 1 试验目的 1、学会针对 DFA 转换图实现相应的高级语言源程序。 2、深刻领悟状态转换图的含义,逐步理解有限自动机。 3、驾驭手工生成词法分析器的方法,了解词法分析器的内部工作原理。 2 试验内容 TINY 计算机语言描述 TINY 计算机语言的编译程序的词法分析部分实现。 从左到右扫描每行该语言源程序的符号,拼成单词,换成统一的内部表示送给语法分析程序。 为了简化程序的编写,有详细的要求如下: 1、数仅仅是整数。 2、空白符仅仅是空格、回车符、制表符。 3、代码是自由格式。 4、注释应放在花括号之内,并且不允许嵌套 TINY语言的单词 试验要求 ? 要求实现编译器的以下功能 1、按规则拼单词,并转换成二元式形式 2、删除注释行 3、删除空白符 4、列表打印源程序,依据源程序的行打印,在每行的前面加上行号,并且打印出每行包含的记号的二元形式 5、发觉并定位错误 ? 词法分析进行详细的要求 1、记号的二元式形式中种类采纳枚举方法定义;其中保留字和特别字符是每个都一个种类,标示符自己是一类,数字是一类;单词的属性就是表示的字符串值。 2、词法分析的详细功能实现是一个函数 GetToken,每次调用都对剩余的字符串分析得到一个单词或记号识别其种类,收集该记号的符号串属性,当识别一个单词完毕,采纳返回值的形式返回符号的种类,同时采纳程序变量的形式供应当前识别出记号的属性值。 这样协作语法分析程序的分析须要的记号及其属性,生成一个语法树。 3、标示符和保留字的词法构成相同,为了更好的实现,把语言的保留字建立一个表格存储,这样可以把保留字的识别放在标示符之后,用识别出的标示符对比该表格,假如存在该表格中则是保留字,否则是一般标示符。 3 此法分析器的程序实现 状态转换图 图 1 TINY 语言的确定有限自动机 程序源码 #include using namespace std; #include #include #include class CA { public: void getToken; //识别标识符 void preDo; //预处理源程序 void display; //打印出 CA { m=n=0; } private: long count2; char ID[10][10]; //符号表 int m;//设 m 为符号表中已有的标识符的个数 char Cons[10][10]; //常数表 int n; //设 n 为常数表中已有的常数的个数 char buffer1[99999]; bool isDigit;//检查是否为数字 bool isLetter;//检 查 是 否 为 字 符 int InsertID;// 添 加 符 号 int InsertConst;//添加符号 int Search; //二分查找 }; //enum variety{标识符,数字,关键字 1,关键字 2,关键字 3,关键字 4,关键字 5,关键字 6,关键字 7,关键字 8,特别符号 1, // 特别符号 2,特别符号 3,特别符号 4,特别符号 5,特别符号6,特别符号7,特别符号8,特别符号9,特别符号10}; //关键字 bi 编码 1 2 3 4 5 6 7 8 char K[18][10]={else,end,if,read,repeat,then,until,write, %,*,+,-,/,:,;,}; bool CA::isDigit 编译原理试验报告 姓名: 学号: 班级: 学院: 南昌高校信息工程学院计算机系 2016 年 6 月 书目 实 验 一 ?????????????????????3 实 验二 ?????????????????????8 实 验三?????????????????????15 试验 1 词法分析程序的设计 学生姓名: 学 号: 专业班级: 试验类型: □ 验证 □ 综合 □ 设计 □ 创新试验日期: 试验成果: 一、试验目的 驾驭计算机语言的词法分析程序的开发方法。 二、试验内容 编制一个能够分析三种整数、标识符、主要运算符和主要关键字的词法分析程序。 三、试验要求 1、依据以下的正规式,编制正规文法,画出状态图; 标识符 * 0 |* 0* 0 x* + - * / = ; {} mainif then else while doint 十进制整数 八进制整数十六进制整数 运算符和界符 关键字 如有余力,则进一步分析八进制和十六进制整数,其正规式如下: 2、依据状态图,设计词法分析函数 int scan,完成以下功能: 1) 从文本文件中读入测试源代码,依据状态转换图,分析出一个单词, 2) 以二元式形式输出单词 其中单词种类用整数表示: 0: 标识符 1: 十进制整数 2: 八进制整数 3: 十六进制整数 运算符和界符,关键字采纳一字一符,不编码 其中单词属性表示如下: