《微机原理和应用》实验报告

《微机原理和应用》实验报告
《微机原理和应用》实验报告

中国石油大学(华东)现代远程教育

实验报告

课程名称:微机原理及应用

实验名称:循环程序设计

实验形式:在线模拟+现场实践

提交形式:在线提交实验报告

学生:褚东学号:02 年级专业层次:17电气自动化技术高起专

学习中心:枣庄函授站(新)

提交时间: 2018 年 7月 10 日

橡胶力学性能测试标准

序号标准号:发布年份标准名称(仅供参考) 1 GB 1683-1981 硫化橡胶恒定形变压缩永久变形的测定方法 2 GB 1686-1985 硫化橡胶伸张时的有效弹性和滞后损失试验方法 3 GB 1689-1982 硫化橡胶耐磨性能的测定(用阿克隆磨耗机) 4 GB 532-1989 硫化橡胶与织物粘合强度的测定 5 GB 5602-1985 硫化橡胶多次压缩试验方法 6 GB 6028-1985 硫化橡胶中聚合物的鉴定裂解气相色谱法 7 GB 7535-1987 硫化橡胶分类分类系统的说明 8 GB/T 11206-1989 硫化橡胶老化表面龟裂试验方法 9 GB/T 11208-1989 硫化橡胶滑动磨耗的测定 10 GB/T 11210-1989 硫化橡胶抗静电和导电制品电阻的测定 11 GB/T 11211-1989 硫化橡胶与金属粘合强度测定方法拉伸法 12 GB/T 1232.1-2000 未硫化橡胶用圆盘剪切粘度计进行测定第1部分:门尼粘度的测定 13 GB/T 12585-2001 硫化橡胶或热塑性橡胶橡胶片材和橡胶涂覆织物挥发性液体透过速率的测定(质量法) 14 GB/T 12829-2006 硫化橡胶或热塑性橡胶小试样(德尔夫特试样)撕裂强度的测定 15 GB/T 12830-1991 硫化橡胶与金属粘合剪切强度测定方法四板法 16 GB/T 12831-1991 硫化橡胶人工气候(氙灯)老化试验方法 17 GB/T 12834-2001 硫化橡胶性能优选等级 18 GB/T 13248-1991 硫化橡胶中锰含量的测定高碘酸钠光度法 19 GB/T 13249-1991 硫化橡胶中橡胶含量的测定管式炉热解法 20 GB/T 13250-1991 硫化橡胶中总硫量的测定过氧化钠熔融法 21 GB/T 13642-1992 硫化橡胶耐臭氧老化试验动态拉伸试验法 22 GB/T 13643-1992 硫化橡胶或热塑性橡胶压缩应力松弛的测定环状试样 23 GB/T 13644-1992 硫化橡胶中镁含量的测定CYDTA滴定法 24 GB/T 13645-1992 硫化橡胶中钙含量的测定EGTA滴定法 25 GB/T 13934-2006 硫化橡胶或热塑性橡胶屈挠龟裂和裂口增长的测定(德墨西亚型) 26 GB/T 13935-1992 硫化橡胶裂口增长的测定 27 GB/T 13936-1992 硫化橡胶与金属粘接拉伸剪切强度测定方法 28 GB/T 13937-1992 分级用硫化橡胶动态性能的测定强迫正弦剪切应变法 29 GB/T 13938-1992 硫化橡胶自然贮存老化试验方法 30 GB/T 13939-1992 硫化橡胶热氧老化试验方法管式仪法 31 GB/T 14834-1993 硫化橡胶与金属粘附性及对金属腐蚀作用的测定 32 GB/T 14835-1993 硫化橡胶在玻璃下耐阳光曝露试验方法 33 GB/T 14836-1993 硫化橡胶灰分的定性分析 34 GB/T 15254-1994 硫化橡胶与金属粘接180°剥离试验 35 GB/T 15255-1994 硫化橡胶人工气候老化(碳弧灯)试验方法 36 GB/T 15256-1994 硫化橡胶低温脆性的测定(多试样法) 37 GB/T 15584-1995 硫化橡胶在屈挠试验中温升和耐疲劳性能的测定第一部分:基本原理 38 GB/T 15905-1995 硫化橡胶湿热老化试验方法 39 GB/T 16585-1996 硫化橡胶人工气候老化(荧光紫外灯)试验方法 40 GB/T 16586-1996 硫化橡胶与钢丝帘线粘合强度的测定 41 GB/T 16589-1996 硫化橡胶分类橡胶材料

编译原理实验报告实验一编写词法分析程序

编译原理实验报告实验名称:实验一编写词法分析程序 实验类型:验证型实验 指导教师:何中胜 专业班级:13软件四 姓名:丁越 学号: 电子邮箱: 实验地点:秋白楼B720 实验成绩: 日期:2016年3 月18 日

一、实验目的 通过设计、调试词法分析程序,实现从源程序中分出各种单词的方法;熟悉词法分析 程序所用的工具自动机,进一步理解自动机理论。掌握文法转换成自动机的技术及有穷自动机实现的方法。确定词法分析器的输出形式及标识符与关键字的区分方法。加深对课堂教学的理解;提高词法分析方法的实践能力。通过本实验,应达到以下目标: 1、掌握从源程序文件中读取有效字符的方法和产生源程序的内部表示文件的方法。 2、掌握词法分析的实现方法。 3、上机调试编出的词法分析程序。 二、实验过程 以编写PASCAL子集的词法分析程序为例 1.理论部分 (1)主程序设计考虑 主程序的说明部分为各种表格和变量安排空间。 数组 k为关键字表,每个数组元素存放一个关键字。采用定长的方式,较短的关键字 后面补空格。 P数组存放分界符。为了简单起见,分界符、算术运算符和关系运算符都放在 p表中 (编程时,还应建立算术运算符表和关系运算符表,并且各有类号),合并成一类。 id和ci数组分别存放标识符和常数。 instring数组为输入源程序的单词缓存。 outtoken记录为输出内部表示缓存。 还有一些为造表填表设置的变量。 主程序开始后,先以人工方式输入关键字,造 k表;再输入分界符等造p表。 主程序的工作部分设计成便于调试的循环结构。每个循环处理一个单词;接收键盘上 送来的一个单词;调用词法分析过程;输出每个单词的内部码。 ⑵词法分析过程考虑 将词法分析程序设计成独立一遍扫描源程序的结构。其流程图见图1-1。 图1-1 该过程取名为 lexical,它根据输入单词的第一个字符(有时还需读第二个字符),判断单词类,产生类号:以字符 k表示关键字;i表示标识符;c表示常数;p表示分界符;s表示运算符(编程时类号分别为 1,2,3,4,5)。 对于标识符和常数,需分别与标识符表和常数表中已登记的元素相比较,如表中已有 该元素,则记录其在表中的位置,如未出现过,将标识符按顺序填入数组id中,将常数 变为二进制形式存入数组中 ci中,并记录其在表中的位置。 lexical过程中嵌有两个小过程:一个名为getchar,其功能为从instring中按顺序取出一个字符,并将其指针pint加1;另一个名为error,当出现错误时,调用这个过程, 输出错误编号。 2.实践部分

M2000型磨损试验机

M—2000型磨损试验机 使用说明书 张家口市宣化科华试验机制造有限公司 (原宣化试验机厂)

目录 一、试验机外观照片 1 二、试验机的用途 1 三、试验机的主要技术规格 2 四、结构简述 3 五、试验机的安装 6 六、试验机的操作要求 6 1、试验前的准备 2、试验机的操作 (1)滑动摩擦试验 (2)滚动摩擦试验 (3)滚动滑动复合摩擦试验 (4)间歇接触摩擦试验 (5)操作时应注意的几个问题 七、摩擦功及摩擦系数的测定方法 1、摩擦功的测定 2、摩擦系数的测定 八、耐磨必能的评定方法 1、称重法 2、测量直径法 3、切入法 九、试验机的保养与维护

一、试验机的外观照片 二、试验机的用途 本试验机可做各种金属材料以及非金属材料(尼龙、塑料等)在滑动摩擦、滚动摩擦滚动滑协复合摩擦和间歇接触摩擦各种状态下的耐磨性能试验,并可模拟各种材料在不同的摩擦条件下进行湿摩擦、干摩擦以及磨料磨损等多种试验。本试验机带有测量装置,同时可测定各种材料的摩擦系数及摩擦功。 三、试验机的主要规格 1、最大负荷2000牛顿 2、负荷测量范围攻0——300 3、下试样轴转速400,200转/分 4、上试样轴转速360,180转/分 5、负荷刻度尺之分度值L 0——300牛顿10牛顿/格 300——2000牛顿50牛顿/格 6、摩擦力矩测量范围0——15牛顿*米 7、上试样的轴向最大移动距离+4毫米

8、双速电动机: (1)三相,380V,50Hz (2)转速2870;1440转/分 (3)功率1kw,0.75kw 9、试验机外形尺寸(长×宽×高)970×660×1100毫米 10、重量约500千克 四、结构简述 1、上下试样轴的动转: 双速电动机(1)通过三角皮带(3)齿轮(4)带动下试样轴(12)使下试样轴以200转/分(或400转/分)的速度转动;通过蜗杆轴(44),滑动齿轮(47)和齿轮(480的传递,使上下试样轴(14)以180转/分(或360转/分)的速度转动。当上下试样轴都转动且两试样直径相同时,由于上下试样轴转速度不同,(除滚动摩擦外),则在试样间有10%的滑率,使试样间带有滑动摩擦;改变试样直径,即可使这种滑率增大或减少,如果提高滑动速度,将滑动齿轮(47)移至右端与反向齿轮(20)啮合,使上试样轴(14)反向旋转即可。为了防止试奏时螺帽松动,因此上试样轴(12)上的螺纹是左旋的,而上试样轴(14)上的螺纹则是右旋的。 2、上试样轴的固定: 当做滑动摩擦时试验时,为使上试样轴不转动,应高尔夫球滑动齿轮(47)移至中间位置,齿轮(48)必须用销子(22)固定在摇摆头(46)上。

编译原理实验报告

编译原理实验报告 姓名: 学号: 班级: 学院: 南昌大学信息工程学院计算机系 2014年6月

目录 实验一 (3) 实验二 (8) 实验三 (15)

实验1 词法分析程序的设计 学生姓名:学号:专业班级: 实验类型:□验证□综合□设计□创新实验日期:实验成绩: 一、实验目的 掌握计算机语言的词法分析程序的开发方法。 二、实验内容 编制一个能够分析三种整数、标识符、主要运算符和主要关键字的词法分析程序。 三、实验要求 1、根据以下的正规式,编制正规文法,画出状态图; 标识符<字母>(<字母>|<数字字符>)* 十进制整数0 |(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)* 如有余力,则进一步分析八进制和十六进制整数,其正规式如下: 八进制整数0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* 十六进制整数0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)* 运算符和界符+ - * / > < =<= >=( ) ;{ } 关键字main if then else while do int (可根据需要添加) 2、根据状态图,设计词法分析函数int scan( ),完成以下功能: 1)从文本文件中读入测试源代码,根据状态转换图,分析出一个单词, 2)以二元式形式输出单词<单词种类,单词属性> 其中单词种类用整数表示: 0:标识符 1:十进制整数 2:八进制整数 3:十六进制整数 运算符和界符,关键字采用一字一符,不编码 其中单词属性表示如下: 标识符,整数由于采用一类一符,属性用单词表示 运算符和界符,关键字采用一字一符,属性为空 3、编写测试程序,反复调用函数scan( ),输出单词种别和属性。 四、实验环境 PC微机 DOS操作系统或Windows 操作系统 Turbo C 程序集成环境或Visual C++ 程序集成环境

编译原理实验报告

编译原理实验报告 班级 姓名: 学号: 自我评定:

实验一词法分析程序实现 一、实验目的与要求 通过编写和调试一个词法分析程序,掌握在对程序设计语言的源程序进行扫描的过程中,将字符形式的源程序流转化为一个由各类单词符号组成的流的词法分析方法。 二、实验内容 根据教学要求并结合学生自己的兴趣和具体情况,从具有代表性的高级程序设计语言的各类典型单词中,选取一个适当大小的子集。例如,可以完成无符号常数这一类典型单词的识别后,再完成一个尽可能兼顾到各种常数、关键字、标识符和各种运算符的扫描器的设计和实现。 输入:由符合或不符合所规定的单词类别结构的各类单词组成的源程序。 输出:把单词的字符形式的表示翻译成编译器的内部表示,即确定单词串的输出形式。例如,所输出的每一单词均按形如(CLASS,VALUE)的二元式编码。对于变量和常数,CLASS字段为相应的类别码;VALUE字段则是该标识符、常数的具体值或在其符号表中登记项的序号(要求在变量名表登记项中存放该标识符的字符串;常数表登记项中则存放该常数的二进制形式)。对于关键字和运算符,采用一词一类的编码形式;由于采用一词一类的编码方式,所以仅需在二元式的CLASS字段上放置相应的单词的类别码,VALUE字段则为“空”。另外,为便于查看由词法分析程序所输出的单词串,要求在CLASS字段上放置单词类别的助记符。 三、实现方法与环境 词法分析是编译程序的第一个处理阶段,可以通过两种途径来构造词法分析程序。其一是根据对语言中各类单词的某种描述或定义(如BNF),用手工的方式(例如可用C语言)构造词法分析程序。一般地,可以根据文法或状态转换图构造相应的状态矩阵,该状态矩阵同控制程序便组成了编译器的词法分析程序;也可以根据文法或状态转换图直接编写词法分析程序。构造词法分析程序的另外一种途径是所谓的词法分析程序的自动生成,即首先用正规式对语言中的各类单词符号进行词型描述,并分别指出在识别单词时,词法分析程序所应进行的语义处理工作,然后由一个所谓词法分析程序的构造程序对上述信息进行加工。如美国BELL实验室研制的LEX就是一个被广泛使用的词法分析程序的自动生成工具。 总的来说,开发一种新语言时,由于它的单词符号在不停地修改,采用LEX等工具生成的词法分析程序比较易于修改和维护。一旦一种语言确定了,则采用手工编写词法分析程序效率更高。 四、实验设计 1)题目1:试用手工编码方式构造识别以下给定单词的某一语言的词法分析程序。 语言中具有的单词包括五个有代表性的关键字begin、end、if、then、else;标识符;整型常数;六种关系运算符;一个赋值符和四个算术运算符。参考实现方法简述如下。 单词的分类:构造上述语言中的各类单词符号及其分类码表。 表I 语言中的各类单词符号及其分类码表 单词符号类别编码类别码的助记符单词值

AKRON耐磨试验机

AKRON耐磨试验机 一、AKRON耐磨试验机简介 型号:HD-P817 该仪器主要用于测试鞋底,轮胎,载车履带等橡制品或硫化橡胶的耐磨性能,通过试样与砂轮在一定的倾斜角度和一定的负荷作用下进行磨擦,测定试样在一定里程里的磨擦体积. 二、AKRON耐磨试验机依据标准 BS 903、GB/T 1689、CNS 734、JIS K6264 三、AKRON耐磨试验机技术参数 1、试料倾斜角度:15°(0~45°可调) 2、计数器:6位元电子式 3、砂轮转速:34r/min ±1r/min 4、砂轮:外径150mm、厚25mm、孔径32mm、粒度36# 硬度为中硬2 5、胶轮:外径68mm,内径12.7mm,厚12.7mm ±0.2mm,硬度75度~80度(short A)试片:长(D+2h)πmm(D 为胶轮直径、h为试片厚度); 宽度12.7mm±0.2mm、厚度3.2mm±0.2mm

6、胶轮转速:76r/min ±2r/min 7、载荷重:26.7N ±0.2N 四、AKRON耐磨试验机操作规程 【试验准备】 1.将调速器开关调到最低; 2.打电源开关,将调速器调节适当速度; 3.根据设定项次,整机处于测试状态; 4.选择棉布或橡皮头固定在测试夹具内。 5.以上信息来源于昆山海达仪器 【操作规程】 1.依标示接上适当电源220V。 2.将调速器开关调到最低,以避免速度过快,造成机器出现异常。 3.开启电源,先行试机,若无异状则关掉电源。 4.按复位键将计数器归零。 5.根据测试要求设定所需测试次数 按计数器上的RST键将计数器清零,按>键五秒进入试验次数设置,计数器上八位数字从右下到左上分别代表个位到千万位,如设定280360次,则按>键将跳动数值调节到左上第三个数字按∧键将数值设定为2,再按>键将跳动数值调节到左上第四个数字按∧键将数值设定为8, 再按>键将跳动数值调节到右下第三个数字按∧键将数值设定为3, 再按>键将跳动数值调节到右下第二个数字按∧键将数值设定为6,其它位置均设定为零即可,根据试验要求设定试验所需次数 6.将待测样品放置在测试台上装夹固定。 7.按启动键,整机将进入测试状态。

编译原理实验报告一 简单样本语言的词法分析器

理工大学信息工程与自动化学院学生实验报告 (2012 —2013学年第一学期) 一、实验目的及容 编译技术是理论与实践并重的课程,而其实验课要综合运用所学的多门课程的容,用来完成一个小型编译程序。从而巩固和加强对词法分析、语法分析、语义分析、代码生成和报错处理等理论的认识和理解;培养学生对完整系统的独立分析和设计的能力,进一步培养学生的独立编程能力。 调试并完成一个词法分析程序,加深对词法分析原理的理解。 二、实验原理及基本技术路线图(框原理图或程序流程图) 1、待分析的简单语言的词法 (1)关键字: begin if then while do end 所有关键字都是小写。 (2)运算符和界符: := + –* / < <= <> > >= = ; ( ) #

(3)其他单词是标识符(ID)和整型常数(NUM),通过以下正规式定义:ID=letter(letter| digit)* NUM=digit digit * (4)空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM,运算符、界符和关键字,词法分析阶段通常被忽略。 2、各种单词符号对应的种别码 3、词法分析程序的功能 输入:所给文法的源程序字符串。 输出:二元组(syn,token或sum)构成的序列。 其中:syn为单词种别码; token为存放的单词自身字符串; sum为整型常数。 二、所用仪器、材料(设备名称、型号、规格等或使用软件)

1台PC以及VISUAL C++6.0软件。 三、实验法、步骤(或:程序代码或操作过程) (1)程序代码: #include #include #include char prog[80],token[8]; char ch; int syn,p,m=0,n,row,sum=0; char *rwtab[6]={"begin","if","then","while","do","end"}; void scaner() { for(n=0;n<8;n++) token[n]=NULL; ch=prog[p++]; while(ch==' ') { ch=prog[p]; p++; } if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) { m=0; while((ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) { token[m++]=ch; ch=prog[p++]; } token[m++]='\0'; p--; syn=10; for(n=0;n<6;n++)

青岛科技大学 橡胶实验十七 阿克隆磨耗

实验十七阿克隆磨耗 一、实验目的 橡胶制品的磨耗是一种常见的现象。橡胶制品耐磨性能的优劣在很大程度上决定着产品的使用寿命,因而是一项重要的技术指标。 1、了解阿克隆磨耗试验机的结构 2、掌握阿克隆磨耗试验的测试原理 3、掌握影响阿克隆磨耗的因素 4、掌握实验数据的处理 二、实验仪器及测试原理 1、工作原理: 本试验是将试样与砂轮在一定倾斜角度和一定的负荷作用下进行摩擦,测定试样一定里程的磨耗体积。 将试样轮夹在胶轮轴上,电机通过减速系统带动试样轮在胶轮轴上作顺时针方向旋转,负荷托架上的试验用重砣使砂轮紧贴在试样轮上,并保证砂轮向左的(即作用在试样轮上)横向作用力为26.7N±0.2N,砂轮做逆时针方向转动。 (1)胶轮轴与砂轮轴之间的夹角:15o±0.5o、25o±0.5o;试样的行驶里程:1.61km (2)阿克隆磨耗机使用的砂轮 砂轮尺寸:直径150mm,厚度25mm ,中心孔直径32mm. (3)砂轮材料组成:磨料为氧化铝,粘合剂为陶土,粒度为36#,硬度为中硬度2。 (4)试样夹板:夹板直径56mm,工作面厚度12mm. 2、仪器 图17-1 阿克隆磨耗试验机 三、试样准备 1、半成品胶料的试样用专用模具硫化,为条状,长度为(D+h) +0~5mm,宽度为12.7±0.2mm,厚度为3.2±0.2mm,其表面应平整、不应有裂痕杂质等现象。

注:D 为胶轮直径,h 为试样厚度,π为圆周率(3.14) 2、硫化完的试样,按规定时间停放后,将其一面用砂轮打磨出均匀的粗糙面之后,清除胶屑,用橡胶水粘贴于砂轮上(粘贴时试样不应受到张莉)。适当放置一段时间,使之粘贴牢固。 四、实验步骤 1、把粘好的试样轮固定在胶轮轴上,起动电机,使试样按顺时针方向旋转。 2、试样预磨15~20min 后取下,刷净胶屑,称量其重量,精确到0.001克。 3、用预磨后的试样进行试验,试样行驶1.61km 后,关闭电机,取下试样,刷掉胶屑,在一小时内称量,准确到0.001克。 4、按GB/T533测定试样的密度。 五、实验结果 1、试样磨耗体积V 按式(17-1)计算: ρ2 1m m V -= (17-1) 其中:V ——试样的磨耗体积,cm 3 m 1——试样预磨后的质量,g m 2——试样试验后的质量,g ρ——试样的密度,g/cm 3 2、磨耗指数按式(17-2)计算: %100V V t s ?= 磨耗指数 (17-2) 其中:V s ——标准配方的磨耗体积 V t ——试验配方在相同里程中的磨耗体积 3、试验数量不少于2个,以算术平均值表示试验结果,允许偏差为±10%。 8.10按照GB/533的方法,分别测定标准胶和试验胶的密度。 六、影响试验结果的因素 1、砂轮 砂轮是试验时的磨料,其切割力的大小,直接影响试验结果,在使用过程中,随着时间的延长,在其表面会附着一层发粘的胶沫,甚至染上油污,这些对试验结果都有影响 ,因此建议各单位根据实际情况选定一个校正用的试验配方,定期对试验机进行校正,随时掌握砂轮切割力的变化情况。 阿克隆磨耗机上使用的砂轮并不是任意选一片符合标准4.6要求的砂轮,装配在磨耗机上就可以使用,而是必须经过严格筛选,多次试验后标定砂轮。因为即使是同一配方、同一生产工艺生产出来的砂轮,每片砂轮摩擦面间的切割力也存在着较大的差异。使用标定砂轮,可以减少试验误差,提高个试验室间试验结果的可比性。 2、角度

编译原理实验报告总结

学年第学期《编译原理》实验报告 学院(系):计算机科学与工程学院 班级:11303070A 学号:11303070*** 姓名:无名氏 指导教师:保密式 时间:2016 年7 月

目录 1.实验目的 (1) 2.实验内容及要求 (1) 3.实验方案设计 (1) 3.1 编译系统原理介绍 (1) 3.1.1 编译程序介绍 (2) 3.1.2 对所写编译程序的源语言的描述 (2) 3.2 词法分析程序的设计 (3) 3.3 语法分析程序设计 (4) 3.4 语义分析和中间代码生成程序的设计 (4) 4. 结果及测试分析 (4) 4.1软件运行环境及限制 (4) 4.2测试数据说明 (5) 4.3运行结果及功能说明 (5) 5.总结及心得体会 (7)

1.实验目的 根据Sample语言或者自定义的某种语言,设计该语言的编译前端。包括词法分析,语法分析、语义分析及中间代码生成部分。 2.实验内容及要求 (1)词法分析器 输入源程序,输出对应的token表,符号表和词法错误信息。按规则拼单词,并转换成二元形式;滤掉空白符,跳过注释、换行符及一些无用的符号;进行行列计数,用于指出出错的行列号,并复制出错部分;列表打印源程序;发现并定位词法错误; (2)语法分析器 输入token串,通过语法分析,寻找其中的语法错误。要求能实现Sample 语言或自定义语言中几种最常见的、基本的语法单位的分析:算术表达式、布尔表达式、赋值语句、if语句、for语句、while语句、do while语句等。 (3)语义分析和中间代码生成 输入token串,进行语义分析,修改符号表,寻找其中的语义错误,并生 成中间代码。要求能实现Sample语言或自定义语言中几种最常见的、基本的语法单位的分析:算术表达式、布尔表达式、赋值语句、if语句、for语句、while 语句、do while语句等。 实验要求:功能相对完善,有输入、输出描述,有测试数据,并介绍不足。3.实验方案设计 3.1 编译系统原理介绍 编译器逐行扫描高级语言程序源程序,编译的过程如下: (1).词法分析 识别关键字、字面量、标识符(变量名、数据名)、运算符、注释行(给人看的,一般不处理)、特殊符号(续行、语句结束、数组)等六类符号,分别归类等待处理。 (2).语法分析 一个语句看作一串记号(Token)流,由语法分析器进行处理。按照语言的文法检查判定是否是合乎语法的句子。如果是合法句子就以内部格式保存,否则报错。直至检查完整个程序。 (3).语义分析 语义分析器对各句子的语法做检查:运算符两边类型是否相兼容;该做哪些类型转换(例如,实数向整数赋值要"取整");控制转移是否到不该去的地方;是

编译原理实验报告5

编译原理实验报告五年月日 姓名学号姓名学号 系年级 2012级专业计算机科目编译原理 题目验证Yacc的使用 实验目的 熟悉语法分析器生成工具Yacc的使用,并学会在cygwin下使用bison工具编译Yacc文法说明文件。学习如何使用lex和yacc合作进行语法分析。 实验内容 根据给出的calculator例子 (calculator0,calculator1,calculator2,calculator3)完成下面题目:用lex 和yacc写一个计算布尔表达式真值的计算器。 实验要求 输入为一个布尔表达式,以换行结束。输出为这个布尔表达式的真值(true 或false)。尝试二义文法和非二义文法两种不同的实现方式。布尔表达式二义文法为:S –> S or S | S and S | not S | (S) | true | false,其中优先级or < and < not,or 和 and 左结合,not 右结合。非二义文法请参照表达式非二义文法自己写出来。 cygwin下用flex,bison和gcc工具将实验调试通过,并写出测试例测试正确性。 实验参考: calculator0-3这四个例子。请认真阅读例子,发现错误及时提出。 代码编写或修改 实验结果

非二义: 二义(版本1,未去掉对于运算结合性的定义):

以上的内容按照我们的计算顺序都是对的,一开始无法相通为什么二义与非二义的结果相同,后来明白了,于是有了下面的一个版本的结果。 二义(版本2,去掉了运算结合性的定义) 这两项本来应该的结果与其相反,说明了二义文法如果不进行运算符优先性、结合性的定义,则会造成预料不到的结果。 实验心得 1.要深刻理解二义与非二义文法的内涵与区别,才能更好地完成这个实验;

编 译 原 理 实 验 报 告

编译原理实验报告 课程:编译原理 系别:计算机系 班级:11网络 姓名:王佳明 学号:110912049 教师:刘老师 实验小组:第二组 1

实验一熟悉C程序开发环境、进行简单程序的调试 实验目的: 1、初步了解vc++6.0环境; 2、熟悉掌握调试c程序的步骤: 实验内容: 1、输入下列程序,练习Turbo C 程序的编辑、编译、运行。 #include main() { printf(“Programming is fun.\n”); } 2、分析程序,预测其运行结果,并上机检测你的预测。 #include main() { printf(“*\n”); printf(“* * *\n”); printf(“* * * * *\n”); printf(“* * * * * * *\n”); } 3、下面是一个加法程序,程序运行时等待用户从键盘输入两个整数,然后求出它们的和并输出。观察运行结果(程序输出),上机验证该程序。 #include main() { int a,b,c; printf(“Please input a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; printf(“%d+%d=%d\n”,a,b,c); } 2

实验二词法分析器 一、实验目的: 设计、编制、调试一个词法分析子程序-识别单词,加深对词法分析原理的理解。 二、实验要求: 1.对给定的程序通过词法分析器弄够识别一个个单词符号,并以二元式(单词种别码,单词符号的属性值)显示。而本程序则是通过对给定路径的文件的分析后以单词符号和文字提示显示。 2.本程序自行规定: (1)关键字"begin","end","if","then","else","while","write","read", "do", "call","const","char","until","procedure","repeat" (2)运算符:"+","-","*","/","=" (3)界符:"{","}","[","]",";",",",".","(",")",":" (4)其他标记如字符串,表示以字母开头的标识符。 (5)空格、回车、换行符跳过。 在屏幕上显示如下: ( 1 , 无符号整数) ( begin , 关键字) ( if , 关键字) ( +, 运算符) ( ;, 界符) ( a , 普通标识符) 三、使用环境: Windows下的visual c++6.0; 四、调试程序: 1.举例说明文件位置:f:、、11.txt目标程序如下: begin x:=9 if x>0 then x:=x+1; while a:=0 do 3

阿克隆耐磨试验机

阿克隆耐磨试验机 一、概述硫化橡胶阿克隆磨耗试验机 特点及用途:阿克隆磨耗机用于测定硫化橡胶的耐磨性能,通过试样与砂轮在一定的倾斜角度和一定的负荷作用下进行摩擦,测定试样在一定里程内的磨耗体积。符合GB/T1689《硫化橡胶耐磨性能的测定》等标准的要求。数字设定、显示磨耗次数,自动停机,将主机与电器控制设计为一体,采用标定砂轮,造型美观、操作方便,为**新改进型试验机。 技术参数: 1、胶轮所受作用力为:26.7N 2、胶轮轴回转速度为:76±2r/min 3、砂轮轴回转速度为:33--35r/min 4、胶轮轴与砂轮轴夹角范围为:0°--45° 5、电源电压:AC220V±10% 6、外形尺寸:600×480×400 7、重量:60Kg 8、附件:电子计数器1只 试验机简介: 本阿克隆耐磨试验机在长时间的磨耗下,测试橡胶制品之耐磨耗性能,可适用于轮胎、战车履带、鞋底等等高耐磨性橡胶制品。试验数据需另搭配比重天平使用。 技术参数: 1.试片规格:外径63.5 mm,内径1 2.7 mm,厚12.7 mm,长220 mm,硬度60~70 2.试料轴转速:76±2 rpm(GB标准);250±5 rpm(BS 标准) 3.试样倾斜角度范围:0°~45° 4.荷重:26.7±0.2 N 5.砂轮规格:直径150 mm,厚度25 mm,中心孔直径32 mm,粒度36#,磨料为氧化铝 6.砂轮轴回转速:34±1 rpm 7.计数器:0~999,999

8.通铭外形尺寸:58×52×46 cm(L×W×H) 9.重量:60 kg 10.电源:AC 220V,50 Hz 依据标准(定单前请指明测试标准): GB/T 1689,BS 903,JIS K6264,CNS 734 纺织类色牢度,刮擦,透气性,磨耗,燃烧,汗渍,物性,拒水性,防水,皮革,等测试标准推广,涵括测试仪器、实验消耗品,及专业测试标准、测试方法手册。 主要经营的产品包括:颜色及色彩评价、显微及法政检验、床垫测试仪器、地毯测试仪器、玩具测试仪、湿度测量&控制系统、土壤温湿度计附件、纺织及服装、无纺布及土工布测试仪、透气性测试仪、单向耐磨仪、皮革及鞋材测试仪、过滤材料测试仪、交通工具类测试仪、耐候及老化测试仪、高加速老化测试系统、烘箱环境设备、轻工及包装材料测试仪、电子电器测试仪、光化光谱及其它测试仪。 产品种类多达600多种,涵盖测试仪器、实验消耗品,专业测试校准,测试方法手册,每种产品均注明了相关的国际应用标准,可以保证为你提供的产品、售前、售后服务是最为快捷优质的。经营产品:纺织摩擦色牢度检测仪器汽车内饰耐磨检测仪器纺织燃烧性检测仪器皮革检测仪器汽车刮檫检测仪器,磨耗检测仪器老化试验检测仪器水洗色牢度测试仪

编译原理实验报告一

实验一词法分析程序实现 一、实验目得与要求 通过编写与调试一个词法分析程序,掌握在对程序设计语言得源程序进行扫描得过程中,将字符流形式得源程序转化为一个由各类单词符号组成得流得词法分析方法 二、实验内容 基本实验题目:若某一程序设计语言中得单词包括五个关键字begin、end、if、then、else;标识符;无符号常数;六种关系运算符;一个赋值符与四个算术运算符,试构造能识别这些单词得词法分析程序(各类单词得分类码参见表I)。 表I语言中得各类单词符号及其分类码表 输入:由符合与不符合所规定得单词类别结构得各类单词组成得源程序文件。 输出:把所识别出得每一单词均按形如(CLASS,VALUE)得二元式形式输出,并将结果放到某个文件中。对于标识符与无符号常数,CLASS字段为相应得类别码得助记符;V AL UE字段则就是该标识符、常数得具体值;对于关键字与运算符,采用一词一类得编码形式,仅需在二元式得CLASS字段上放置相应单词得类别码得助记符,V ALUE字段则为“空". 三、实现方法与环境 词法分析就是编译程序得第一个处理阶段,可以通过两种途径来构造词法分析程序.其一就是根据对语言中各类单词得某种描述或定义(如BNF),用手工得方式(例如可用C语言)构造词法分析程序。一般地,可以根据文法或状态转换图构造相应得状态矩阵,该状态矩阵连同控制程序一起便组成了编译器得词法分析程序;也可以根据文法或状态转换图直接编写词法分析程序。构造词法分析程序得另外一种途径就是所谓得词法分析程序得自动生成,即首先用正规式对语言中得各类单词符号进行词型描述,并分别指出在识别单词时,词法分析程

磨损试验报告

磨损实验 一、实验目的 1.了解M-2000型盘销式摩擦磨损试验机的构造及使用方法; 2.初步掌握利用盘销式摩擦磨损试验方法进行磨损实验; 3.初步了解对材料耐磨性的影响因素. 二、实验设备 MPX-2000型盘销式摩擦磨损试验机 三、实验材料 . 盘销式试样及夹具 四.实验原理与方法 试验机由三速电机通过一级齿形带轮直接带动上试样轴旋转,使装在上主轴上的上试样同步旋转,试验负荷通过1:10的杠杆加载块和下主轴,直接作用在两对磨试样上,两试样间便产生摩擦力,在摩擦力的作用下长时间对磨的两试样表面会有不同程度的磨损,通过测量其尺寸或质量上的变化情况,即可评估材料的耐磨性能。 五.实验前的准备工作 1.安要求加工试样; 2.根据转速要求更换带轮。. 六.实验步骤 1.把销试样及盘试样分别通过试样夹具安装在试验机上下主轴上; 2.调杠杆平衡; 3.加载; 4.启动电动机,选择速度,进行实验. 5.实验结束,测磨损量,进行数据处理. 七,实验报告思考题 1.说明磨损试验的目的、意义。 答:目的:(1)进行材料性能评定 (2)进行滑剂性能评定 (3)进行摩擦磨损机理分析 (4)进行基础研究 意义:通过做磨损试验,可以评估材料的耐磨性能。其次,利用做磨损试验,可以知道并了解每一种材料的耐磨系数,因此可以制定相应的热处理规范来改善材料的力学性能,从而使材料更加具有使用价值,且能使材料的寿命大大延长,节约工程成本。

2.简要说明M-2000型盘销式摩擦磨损试验机的构造及使用方法。 答:构造:M-2000型盘销式摩擦磨损试验机由三速电机通过一级齿形带轮直接带动上试样轴旋转,使装在上主轴上的上试件同步旋转,由于采用了同步齿形带传动,就不会由于试样间的摩擦力增大而皮带打滑同时噪音较低。试验负荷由四等标准砝码通过1:10的杠杆加载块和下主轴,直接作用在试样和上,上试样是通过试样夹具联接在上主轴的下端面上,下试样是靠两个圆柱销固定下主轴的上端面上,这样由于上主轴的旋转,通过试样间的摩擦力而使下主轴随之旋转。由于下主轴是精确的安装在两套滚针轴承和一套轴向止推滚动轴承上,自身的摩擦系数很小。 在下主轴上固定着力矩压杆由于下主轴旋转使力矩压杆压向荷重传感器,通过放大器由一个显示表头显示出摩擦力矩,从而计算试样间的摩擦系数。 使用方法:(1)、电机及同步齿形带的调整和齿形带轮的更换: a、电机及同步齿形带的调整: 本试验机是同步齿形带传动,中心距是靠移动电机来实现的。先松掉试验机顶盖的两条内六角螺钉顶盖取下,然后松开四条螺栓向左右移动电机来调整齿形带(3)的松紧。注意齿形带松紧要调节适当不可象三角带那样拉的很紧,过松则带齿与轮齿啮合不住。 b、若要选择您所满意的转速则可通过更换齿形轮和来实现六个不同的转速也就是每一对齿形带轮都可得到三种转速。其齿数为第一对主动轮20齿从动轮52齿(电机轴为主动轮)可得到370、549、1102转/分三种转速。第2对主动轮为50齿,从动轮为25齿可得到1970、2930、5880转/分三种转速。 c、更换带轮时,先将电机板上的螺钉松开,电机板向左推取下齿形带,将上主轴端元螺母拧下来更换从动轮后,将元螺母重新紧固。换主动轮时先将螺钉松开将垫圈取下更换另一个主动带轮,再将垫圈装好紧固螺钉将齿形带套在轮上后调节齿形带的松紧度。然后紧固电机板螺栓盖上顶盖紧固螺钉,将顶盖固定在机身上。 (2)、试样的安装和杠杆的平衡 a、试样的安装 1)对试样的安装 试验前应将试样加工成如图六尺寸,去掉毛刺要求,盘环试样端面的销孔

编译原理标准实验报告

电子科技大学 实验报告 学生姓名:学号:指导教师: 实验地点:实验时间: 一、实验室名称:计算机学院软件工程实验室 二、实验项目名称:词法分析器的设计与实现 三、实验学时:4学时 四、实验原理 1.编译程序要求对高级语言编写的源程序进行分析和合成,生成目标程序。词法分析是对源程序进行的首次分析,实现词法分析的程序为词法分析程序。 2.词法分析的功能是从左到右逐个地扫描源程序字符串,按照词法规则识别出单词符号作为输出,对识别过程中发现的词法错误,输出相关信息。 3.状态转换图是有限有向图,是设计词法分析器的有效工具。 五、实验目的 通过设计词法分析器的实验,使同学们了解和掌握词法分析程序设计的原理及相应的程序设计方法,同时提高编程能力。 六、实验内容 实现求n!的极小语言的词法分析程序,返回二元式作为输出。 七、实验器材(设备、元器件) 1.操作系统:Windows XP

2.开发工具:VC6.0 3.普通PC即可 八、实验步骤 (1)启动VC6.0,创建空白工程项目。选择菜单中的“文件”->“新建”->“项目”,在弹出的对话框中,左边的“项目类型”框中,选择“Visual C++ 项目”,在右边框中,选择“空项目(.Net)”,在对话框下边,选择工程文件存放目录及输入名称,如Example1,单击“确定”。 (2)建立相应的单词符号与种别对照表; (3)根据状态转换图编写相应的处理函数; (4)完成词法分析器; (5)编译与调试以上程序; (6)生成相应的*.dyd文件,作为后面语法分析的输入文件。 九、实验数据及结果分析

可以对源程序进行词法分析,如果有错给出出错信息和所在行数,如果无错则生成二元式文件。 十、实验结论 本实验程序较好地完成了词法分析程序的设计与实现,能够对所给文法的程序进行词法分析,在没有词法错误的时候生成相应的二元式文件。该实验程序可一次性给出源程序中的词法错误。 十一、总结及心得体会 通过该实验,对词法分析程序的设计,以及运用C语言进行编程有了更深刻的理解,同时加深了自己对词法分析程序的原理的理解与掌握,提高了自己的动手能力。 十二、对本实验过程及方法、手段的改进建议 程序设计合理,代码可进一步优化。 报告评分: 指导教师签字:

编译原理实验报告

《编译原理》实验报告软件131 陈万全132852

一、需求分析 通过对一个常用高级程序设计语言的简单语言子集编译系统中词法分析、语法分析、语义处理模块的设计、开发,掌握实际编译系统的核心结构、工作流程及其实现技术,获得分析、设计、实现编译程序等方面的实际操作能力,增强设计、编写和调试程序的能力。 通过开源编译器分析、编译过程可视化等扩展实验,促进学生增强复杂系统分析、设计和实现能力,鼓励学生创新意识和能力。 1、词法分析程序设计与实现 假定一种高级程序设计语言中的单词主要包括五个关键字begin、end、if、then、else;标识符;无符号常数;六种关系运算符;一个赋值符和四个算术运算符,试构造能识别这些单词的词法分析程序。 输入:由符合和不符合所规定的单词类别结构的各类单词组成的源程序文件。 输出:把所识别出的每一单词均按形如(CLASS,VALUE)的二元式形式输出,并将结果放到某个文件中。对于标识符和无符号常数,CLASS字段为相应的类别码的助记符;VALUE字段则是该标识符、常数的具体值;对于关键字和运算符,采用一词一类的编码形式,仅需在二元式的CLASS字段上放置相应单词的类别码的助记符,VALUE字段则为“空”。 2、语法分析程序设计与实现 选择对各种常见高级程序设计语言都较为通用的语法结构——算术表达式的

一个简化子集——作为分析对象,根据如下描述其语法结构的BNF定义G2[<算术表达式>],任选一种学过的语法分析方法,针对运算对象为无符号常数和变量的四则运算,设计并实现一个语法分析程序。 G2[<算术表达式>]: <算术表达式>→<项> | <算术表达式>+<项> | <算术表达式>-<项> <项>→<因式>|<项>*<因式>|<项>/<因式> <因式>→<运算对象> | (<算术表达式>) 若将语法范畴<算术表达式>、<项>、<因式>和<运算对象>分别用E、T、F和i 代表,则G2可写成: G2[E]:E → T | E+T | E-T T → F | T*F | T/F F → i | (E) 输入:由实验一输出的单词串,例如:UCON,PL,UCON,MU,ID······输出:若输入源程序中的符号串是给定文法的句子,则输出“RIGHT”,并且给出每一步分析过程;若不是句子,即输入串有错误,则输出“ERROR”,并且显示分析至此所得的中间结果,如分析栈、符号栈中的信息等,以及必要的出错说明信息。 3、语义分析程序设计与实现 对文法G2[<算术表达式>]中的产生式添加语义处理子程序,完成运算对象是简单变量(标识符)和无符号数的四则运算的计值处理,将输入的四则运算转换为四元式形式的中间代码。 输入:包含测试用例(由标识符、无符号数和+、?、*、/、(、)构成的算术表达式)的源程序文件。 输出:将源程序转换为中间代码形式表示,并将中间代码序列输出到文件中。 若源程序中有错误,应指出错误信息 二、设计思路 1、词法分析程序设计与实现 1)单词分类 为了编程的实现。我们假定要编译的语言中,全部关键字都是保留字,程序员不得将它们作为源程序中的标识符;作了这些限制以后,就可以把关键字和标识符的识别统一进行处理。即每当开始识别一个单词时,若扫视到的第一个字符为字母,则把后续输入的字母或数字字符依次进行拼接,直至扫视到非字母、数字字符为止,以期获得一个尽可能长的字母数字字符串,然后以此字符串查所谓保留字表(此保留字表要事先造好),若查到此字符串,则取出相应的类别码;反之,则表明该字符串应为一标识符。

相关文档
最新文档