当前位置:文档之家› 《企业资源规划(ERP)综合实训》实验报告...

《企业资源规划(ERP)综合实训》实验报告...

《企业资源规划(ERP)综合实训》实验报告...
《企业资源规划(ERP)综合实训》实验报告...

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

编译原理实验报告实验名称:实验一编写词法分析程序 实验类型:验证型实验 指导教师:何中胜 专业班级: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.实践部分

土地利用规划实验指导书

《土地利用规划》课程实验指导书 环境与地理科学系 2009 年 9 月 10 日

实验一土地需求量预测 一、实验目的 1.了解土地需求量预测的必要性和意义; 2.掌握不同的土地需求量预测方法,明确不同方法的实用性; 3.能够借助传统手工方式或计算机计算方式熟练使用不同的预测方法。 二、实验原理 预测是土地利用管理的重要手段,是了解和协调时期和区域土地利用供给量与需求量之间的关系的重要内容。土地需求量受一定时期国民经济、社会发展、土地质量和区位条件等的影响。耕地需求量预测是土地利用规划预测中最基本的内容。 三、实验过程 1.确定预测目的; 2.检验土地需求量预测案例提供的资料; 3.利用传统手工方式或者计算机软件实施预测过程:分别采用趋势预测法和回归分析法对案例(见附件1)进行预测。其中,手工计算方式严格按照预测方法的原理进行逐步计算;计算机计算可以采用EXCEL数据分析工具或者SPSS软件等; 4.比较传统手工和计算机两种计算方式的优缺点; 5.分析预测误差。 四、注意事项 数据输入时要仔细,分析过程中做到谨慎认真。 五、上交资料 提交实验报告,内容书写要规范。

附件1: 例1. 根据某县市1970-1999年30年耕地面积资料(表-1),采用趋势预测法计算出预测方程并绘制趋势线,同时计算出2000年的耕地面积,最后对预测误差进行分析。 表-1 ××县1970-1999年耕地面积

例2.未来耕地面积受多种因素的制约,如人口、单产、总产、基建投资等,并随着上述因素的变化而变化,在它们之间存在着因果关系。下表提供了某县市1970-1999年30年人口、粮食总产量和耕地面积的资料(表-2),由此采用回归分析法预测2000年的耕地面积,并列出回归分析方程,最后分析预测误差。 表-2 ××县1970-1999年人口、粮食总产量和耕地面积

编译原理实验报告

编译原理实验报告 姓名: 学号: 班级: 学院: 南昌大学信息工程学院计算机系 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++ 程序集成环境

土地利用规划-耕地需求量预测 实验报告

贵州大学实验报告 实验 4 :耕地需求量预测 学院:农学院 专业:农业资源与环境 班级: 姓名: 学号: 指导教师:周焱 时间: 2014 年 06 月 11 日

第一部分实验目的 通过本实验的学习,使学生掌握耕地需求量预测的具体过程。 第二部分实验原理 本实验以兴义市,根据兴义市自然、社会经济条件和发展趋势,预测2010年和2020年兴义市耕地保有量和基本农田保护面积。 第三部分实验步骤 1、搜集兴义市自然经济条件等相关资料; 2、根据人口历史资料和兴义市相关发展规划,对2010年和2020年人口规模进行预测; 3、根据人口预测和相关粮食标准对耕地保有量和基本农田保护面积进行预测; 第四部分报告正文 根据表1中1997年——2005年年平均人口自然增长率,得出年平均人口增长率为0.82%,年平均人口机械增长率为0.38%,以2004年作为参考依据,预测出2010年与2020年的人口规模: P t = P o ×(1+K+P)(t-to)+(c-d) 式中:P t ——规划年人口数 P t0 ——基期年人口数 t-t ——预测年期 K——人口自然增长率 c——规划期内迁入人数 d——规划期内迁出人数 P t2010 = P t2004 ×(1+K+P)(t-to)+(c-d) =73.42×(1+0.82%+0.38%) 6+4.3 =83.17 (万人) P t2020 = P t2004 ×(1+K+P)(t-to) =73.42×(1+0.82%+0.38%) 16+4.3 = 93.16(万人) 根据年平均增长率法计算出年均粮食单产,其中r为2000年——2005年的年平均增长率的平均值1.03%: a n = a o ×(1+r)n

编译原理实验报告

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

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

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

理工大学信息工程与自动化学院学生实验报告 (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++)

编译原理实验报告总结

学年第学期《编译原理》实验报告 学院(系):计算机科学与工程学院 班级: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.要深刻理解二义与非二义文法的内涵与区别,才能更好地完成这个实验;

土地资源调查与评价实验一

实验一土地要素分析 1208140515 土资122班 张舵 一、实验目的 根据研究区域基础数据资料,分析地形、植被、土壤、土地利用方式等土地构成要素的空间演替的规律。 二、实验数据 1.北京市海淀区数字高程模型(DEM) 2.北京市海淀区土壤类型图(土壤.*) 3.北京市海淀区土地利用现状图(简化)(HDDLTB.*) 4.北京市海淀区“凤凰岭-稻香湖”样区条带遥感影像(Sat_DXH31.tif)

三、实验过程 1.将DEM由Raster转化为TIN 打开ArcMap10.2,点击加载实验数据,在Arc Toolbox中选择3D Analyst Tools→Conversion→From Raster→Raster to TIN(图1),输入栅格为DEM图层(图2),将数字高程模型(DEM)由栅格格式(Raster)转化为不规则三角网格式(TIN)(图3)。 图 1 Arc Toolbox工具栏 图 2 Raster to TIN窗口

图 3不规则三角网格式(TIN)的数字高程图 2.选择断面 将遥感影像图层置于所有图层顶端,在研究样区条带内,点击,选择一条东西向、横跨研究样区的断面,并用红线加粗显示(图4) 图4 断面位置示意图 断面在栅格中的具体位置如下图(图5) 图5断面栅格位置图 3.断面地形分析 (1)点击生成断面高程变化图,结合遥感影像进行地形判断。 (2)在Arc Toolbox中选择Spatial Analyst Tools→Surface→Contour,

把生成的TIN图作为输入图层,等值线高差为50米,生成等值线图,进行等值线分析。(图6) 图6等值线分析 4.地貌类型分析 在Arc Toolbox中选择Spatial Analyst Tools→Surface→Slope,把生成的TIN图作为输入图层,生成坡度图,与高程变化图、等值线图对照,分析地貌类型及其部位。 5.土壤类型和属性 在土壤类型图的图层属性中选择符号系统,值字段为土类,添加所有值,并将卵石滩值移除后确定(图7) 图7 土类图层属性表

编 译 原 理 实 验 报 告

编译原理实验报告 课程:编译原理 系别:计算机系 班级: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

实验报告

五尧乡生态乡镇建设规划 目录 1.总论 1.1任务的由来 (2) 1.2编制的依据 (2) 1.3规划指导思想 (2) 1.4规划原则 (2) 1.5规划年限 (3) 1.6规划目标 (3) 2.五尧乡基本状况 (4) 2.1五尧乡自然地理状况 (4) 2.2五尧乡社会经济状况 (4) 3.城镇规划 (4) 4.生态环境规划 (5) 4.1生态资源状况 (5) 4.2环境质量现状 (6) 4.3生态环境问题 (6) 4.4生态环境保护规划 (7) 5.效益分析 (9) 5.1生态效益 (9) 5.2经济效益 (9) 5.3社会效益 (9) 6.规划实施的保障措施 (9) 6.1政策法规保障体系 (10) 6.2组织机构与管理保障体系 (10) 6.3文化教育和社会监督体系 (11) 6.4资金筹措与投资保障体系 (11) 6.5实施手段与技术保障体系 (12) 6.6决策支持信息系统体系 (12)

1.总论 1.1任务的由来 随着经济的迅速发展,以及城市的逐渐扩张,我国进入了一个中国城市化和城市高速发展的关键时期。而小城镇的发展在我国城市化进程中,正在发挥着越来越重要的作用。自1998 年党的十五届三中全会确定了“小城镇,大战略”的方针后,党的十六大又进一步把“加快城镇化进程,全面建设小康社会,走中国特色的城镇化道路”作为战略目标。“建立和谐社会,达到全社会的和谐发展”,是党的十六大报告提出的一个新的重要思想。党的十六届四中全会明确提出构建社会主义和谐社会的新命题,进一步深化和拓展了“社会更加和谐”这一思想。加快统筹城乡发展的步伐,解决“三农”问题,切实保护广大农民的利益是构建社会主义和谐社会的一个重要方面,而加快发展小城镇则是统筹城乡、解决“三农问题”、构建和谐社会的关键之一。积极有序地发展小城镇,不仅是加快城市化进程的需要,而且已成为我国国家发展战略的重要组成部分。 1.2编制的依据 城市规划5个阶段,如果按编制规划的话可以说是:纲要、总体规划(城镇体系规划)、分区规划,修建性详细规划,控制性详细规划。 编制这5个阶段的规划的依据个不一样。当然首先都是以国家颁布实施的法律法规、方针政策为依据,城镇总体规划主要有: ⑴《中华人民共和国城乡规划法》 ⑵《中共中央国务院关于促进小城镇健康发展的若干意见》 ⑶《全国生态环境保护纲要》 ⑷《国民经济和社会发展纲要》 ⑸《国家环境保护“十二五”规划》 ⑹《河北省建制镇总体规划编制导则》 ⑺《保定市志》 ⑻《保定市城市总体规划(2008—2020年)》 ⑼《保定市土地利用总体规划(2010-2020)》 ⑽《五尧乡国民经济统计资料及城建资料》 ⑾《五尧乡各类专业部门提供的规划基础资料》 1.3规划指导思想 本规划以生态化、集约化、市场化为理念,坚持突出五尧乡特色的原则,城乡经济和空间布局一体化发展的原则,土地使用集约化原则,规划弹性灵活的原则和建设精品化的原则。充分发挥城镇规划对城镇发展建设的战略性、前瞻性、综合性指导作用。 贯彻可持续发展战略,坚持环境与发展综合决策,努力解决小城镇建设与发展中的生态环境问题;坚持以人为本,以创造良好的人居环境为中心,加强城镇生态环境综合整治,努力改善城镇生态环境质量,实现经济发展与环境保护“双赢”。 1.4规划原则 ⑴区域协同发展的原则 融入区域环境,实现持续发展。五尧乡的发展必须在区域的框架内明确自身定位,发挥自身优势,实现快速发展。从广域范围内分析五尧乡的发展,增强规划的区域观念和整体竞争力,积极融入保定市新一轮发展之中,谋求以大区域为背景的城镇整体发展。

编译原理实验报告一

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

GIS实验报告材料-地信

地理信息系统原理实验报告 班级: 学号: 姓名: 指导教师:

一、实验目的 1熟悉桌面GIS软件Super Map的界面环境 2初步掌握Super Map的主要工具及菜单命令的使用 3理解GIS软件应具有的基本功能 4结合对所选地图的矢量化的操作,具体掌握GIS软件的操作步骤 二、实验时间 1、第八周----第十六周进行实验绘图实体操作 2、第十七周----第十九周进行图片剪切,资料整理,总结报告 三、实验内容 ●Supermap Deskpro的认识 Supermap Deskpro是超图的专业桌面GIS软件之一。Super Map GIS桌面平台产品是基于Super Map GIS核心技术研制开发的一体化的GIS桌面软件,是Super Map GIS系列产品的重要组成部分,它界面友好、简单易用,不仅可以很轻松地完成对空间数据的浏览、编辑、查询、制图输出等操作,而且还能完成拓扑分析、三维建模、空间分析、网络分析等较高级的 GIS 功能。 SuperMap Deskpro 是一款专业桌面GIS软件,提供了地图编辑、属性数据管理、分析与辅助决策相关业务以及输出地图、打印报表、三维建模等方面的功能。SuperMap Deskpro 作为一个全面分析管理的工具,应用于土地管理、林业、电力、电信、交通、城市管网、资源管理、环境分析、旅游、水利、航空和军事等所有需要地图处理行业。 ●Supermap Deskpro的使用 通过该软件进行地图的矢量化,具体过程如下:

1、前期的准备 数据来源:纸质西安地图 地图的整体设计:遵循地图越详细越好的原则,我们对点、线、面数据集作了详细的规划,详情请看图层分层。考虑到以后做专题图,对数据集属性字段做了必要的添加,用以区分不同的地物。 本地图特色:采用Deskpro软件自带的矢量符号库符号分别作点、线、面专题图。 2、地图矢量 2.1纸质地图的扫描扫描之前对地图进行图面整理,扫描的分辨率设为 300-500dpi,扫描后得到*.jpg格式的原始栅格数据的地图 2.2创建相应的坐标系数据源启动Deskpro选择新建工作空间。 新建数据源

编译原理实验报告

《编译原理》实验报告软件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)单词分类 为了编程的实现。我们假定要编译的语言中,全部关键字都是保留字,程序员不得将它们作为源程序中的标识符;作了这些限制以后,就可以把关键字和标识符的识别统一进行处理。即每当开始识别一个单词时,若扫视到的第一个字符为字母,则把后续输入的字母或数字字符依次进行拼接,直至扫视到非字母、数字字符为止,以期获得一个尽可能长的字母数字字符串,然后以此字符串查所谓保留字表(此保留字表要事先造好),若查到此字符串,则取出相应的类别码;反之,则表明该字符串应为一标识符。

编译原理标准实验报告

电子科技大学 实验报告 学生姓名:学号:指导教师: 实验地点:实验时间: 一、实验室名称:计算机学院软件工程实验室 二、实验项目名称:词法分析器的设计与实现 三、实验学时: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语言进行编程有了更深刻的理解,同时加深了自己对词法分析程序的原理的理解与掌握,提高了自己的动手能力。 十二、对本实验过程及方法、手段的改进建议 程序设计合理,代码可进一步优化。 报告评分: 指导教师签字:

土地测量实验报告

实验课程:土地测量与评价 实验名称:土地测量与评价之农用地评价 实验目的:了解并掌握土地评价的内容及方法 实验内容如下: 一.土地评价 1、土地评价是在特定的目的下,通过土地质量对土地的自然和经济属性进行 综合鉴定,确定土地等级,揭示土地质量等级的空间分异的过程。 2、土地评价的分类 (1)按评价研究内容分类 从土地评价研究的核心内容——土地质量看,土地评价分为土地资源评 价、土地经济评价、土地环境评价、土地可持续利用评价。 (2)按评价对象分类农用地评价和城市用地评价。前者主要对耕地、林地、草地、园地等农用地生产力、效益差异、级差收益分布状况的评价; 后者包括对城市工商和建设用地、工矿业用地、交通用地、旅游业用 地等的评价。 3、土地经济评价:我们将采用一定的经济可比指标,对土地的投入、产出的 经济效果进行评定的过程称为土地经济评价。 (1)土地经济评价的概念:根据目前的研究情况,土地经济评价可以分为两种类型。 其一是以土地的投入占产出的比例关系指标评定土地,适用于已利用的 土地的经济评价,主要适用于农耕地。 其二是以与土地经济效果有关的各项经济条件综合评定土地经营等级, 通过对响土地经济效果的各项经济条件的综合评定衡量土地的经济实 力即经济潜力。 4、与自然评价关系 土地自然评价是反映各种土地利用方式的潜在能力或适宜性和适宜程度,而土地经济评价则主要展示土地利用方式的经济效果。

5、目的和意义:科学地确定土地的生产能力 为拟定土地税收标准服务 为土地利用规划和土地改造提供依据 为土地的科学管理提供更强有力的手段可有效地促进土地 合理利用 二.农用地分等与定级 1.农用地是指直接用于农业生产的土地,包括耕地、林地、草地、农田水利用地、养殖水面等。根据农用地的自然属性和经济属性,对农用地的质量优劣进行综合评定,并划分等级、级别。 2.农用地分等 (1)确定标准耕作制度、基准作物与指定作物 根据当地气候条件确定标准耕作制度。基准作物是指小麦、玉米、水 稻等三种主要粮食作物中的一种,是理论标准粮的折算基准。 (2)分等因素指标区或样地适用区 采用因素法计算农用地质量分,需要划分农用地分等因素指标区。 采用样地法计算农用地质量分,则需要划分样地适用区(3)确定分等因素 (4)编制分等因素质量分记分规则表 (5)划分分等单元 (6)单元因素分值计算方法 (7)单元因素分值确定 (8)计算农用地自然质量分(CLij) (9)计算农用地自然质量等指数(Ri) Rij =αtj ?CLij?βj 农用地自然质量等指数由下式定义:Ri = ∑ Rij 其中:Ri j为第i单元第j种指定作物的自然质量等指数;Ri为第i个分等单元的农用地自然质量等指数;∑为连加运算符;αtj为 第j种作物的光温生产潜力指数;CLij为第i个分等单元内种植第j 种指定作物的农用地自然质量分;βj为第j种作物的产量比系数。

编译原理实验报告(手打)

《编译原理》实验报告 班级:计C104 姓名:李云霄 学号:108490

实验一词法分析程序实现 一、实验目的与要求 通过编写和调试一个词法分析程序,掌握在对程序设计语言的源程序进行扫描的过程中,将字符形式的源程序流转化为一个由各类单词符号组成的流的词法分析方法。 二、实验内容 选取无符号数的算术四则运算中的各类单词为识别对象,要求将其中的各个单词识别出来。 输入:由无符号数和+,-,*,/, ( , ) 构成的算术表达式,如1.5E+2-100。 输出:对识别出的每一单词均单行输出其类别码(无符号数的值暂不要求计算)。 三、实现方法与环境 1、首先设计识别各类单词的状态转换图。 描述无符号常数的确定、最小化状态转换图如图1所示。其中编号0,1,2,…,6代表非终结符号<无符号数>、<余留无符号数>、<十进小数>、<小数部分>、<指数部分>、<整指数>及<余留整指数>, 1,2和6为终态,分别代表整数、小数和科学计数的识别结束状态。 图1 文法G[<无符号数>]的状态转换图 其中编号0,1,2,…,6代表非终结符号<无符号数>、<余留无符号数>、<十进小数>、<小数部分>、<指数部分>、<整指数>及<余留整指数>, 1,2和6为终态,分别代表整数、小数和科学计数的识别结束状态。 在一个程序设计语言中,一般都含有若干类单词符号,为此可首先为每类单词建立一张状态转换图,然后将这些状态转换图合并成一张统一的状态图,即得到了一个有限自动机,再进行必要的确定化和状态数最小化处理,最后据此构造词法分析程序。 四则运算算术符号的识别很简单,直接在状态图的0状态分别引出相应标记的矢

编译原理实验报告

学生学号实验课成绩 武汉理工大学 学生实验报告书 实验课程名称编译原理 开课学院计算机科学与技术学院 指导老师姓名饶文碧 学生姓名 学生专业班级 —学年第学期

实验课程名称:编译原理 实验项目名称单词的词法分析实验成绩 实验者专业班级组别 同组者实验日期 第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 完成对某一种常用高级语言(如Pascal、C语言、PL/0语言)的各类单词进行词法分析,即对源程序从左到右进行扫描,对组成源程序的字符串拼接成为单词;并把其转换成属性字输出。 实验要求: (1)选择常用高级程序设计语言(如 Pascal、C语言、PL/0语言)的源程序作为词法分析对象。 (2)根据教学要求和学生具体情况,从上列语言之一中选取它的一个适当大小的子集,可以选取一类典型单词,也可以尽可能使各种类型的单词都能兼顾到。其基本要求是:对源程序从左到右进行扫描,对组成源程序的字符串拼接成为单词,并把其转换成属性字输出。 二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述) #include #include #include #include char *table[7]={" ","main","int","if","then","else","return"},TOKEN[20],ch; //定义关键字 int lookup(char *TOKEN){ //关键字匹配函数 int m,i; for(i=1;i<6;i++){ if((m=strcmp(TOKEN,table[i]))==0) return(i); } return(0); } void out(int c,char *TOKEN){ //输出函数 printf("(%d,%s)\n",c,TOKEN); } void scanner(FILE *fp){ //扫描函数 char TOKEN[20]={'\0'}; char ch; int i,c; ch=fgetc(fp); //获取字符 指针fp并自动指向下一个字符 if(isalpha(ch)){ //判断该字符是否是字母

相关主题
文本预览
相关文档 最新文档