词法分析实验报告审批稿

词法分析实验报告审批稿
词法分析实验报告审批稿

词法分析实验报告

编译原理实验一

姓名:朱彦荣

学号:

专业:软件工程2

实验题目:词法分析

完成语言:C/C++

上级系统:VC++

日期:2015/11/7

词法分析

设计题目:手工设计c语言的词法分析器

(可以是c语言的子集)

设计内容:

处理c语言源程序,过滤掉无用符号,判断源程序中单词的合法性,并分解出正确的单词,以二元组形式存放在文件中。

设计目的:

了解高级语言单词的分类,了解状态图以及如何表示并识别单词规则,掌握状态图到识别程序的编程。

结果要求:课程设计报告。

完成日期:第十五周提交报告

一.分析

要想手工设计词法分析器,实现C语言子集的识别,就要明白什么是词法分析器,它的功能是什么。词法分析是编译程序进行编译时第一个要进行的任务,主要是

整个源程序进行分解,分解成一个个单词,这些单词有且只有五类,分别是标识符、保留字、常数、运算符、界符。以便为下面的语法分析和语义分析做准备。可以说词法分析面向的对象是单个的字符,目的是把它们组成有效的单词(字符串);而语法的分析则是利用词法分析的结果作为输入来分析是否符合语法规则并且进行语法制导下的语义分析,最后产生四元组(中间代码),进行优化(可有可无)之后最终生成目标代码。可见词法分析是所有后续工作的基础,如果这一步出错,比如明明是‘<=’却被拆分成‘<’和‘=’就会对下文造成不可挽回的影响。因此,在进行词法分析的时候一定要定义好这五种符号的集合。下面是我构造的一个C语言子集。

第一类:标识符 letter(letter | digit)* 无穷集

第二类:常数 (digit)+ 无穷集

第三类:保留字(32)

auto break case char const continue

default do double else enum extern

float for goto if int long

register return short signed sizeof static

struct switch typedef union unsigned void

volatile while

第四类:界符‘/*’、‘.

<+,33>

<-,34>

<*,35>

<<,37>

<<=,38>

<>,39>

<>=,40>

<=,41>

<==,42>

<;,44>

<(,45>

<),46>

<^,47>

<,,48>

<&,52>

<&&,53>

<|,54>

<||,55>

<%,56>

<~,57>

<<<,58>左移

<>>,59>右移

<[,60>

<],61>

<{,62>

<},63>

<\,64>

<.,65>

<:,67>

"[","]","{","}"

<常数99 ,数值>

<标识符100 ,标识符指针>

上述二元组中左边是单词的符号,右边为其种别码,其中常数和标识符有点特别,因为是无穷集合,因此常数用自身来表示,种别码为99,标识符用标识符符号表的指针表示(当然也可用自身显示,比较容易观察),种别码100。根据上述约定,一旦见到了种别码

syn=63,就唯一确定了‘}’这个单词。

下面是一些变量的约定:

,"\?",":","!"

};

static char IDentifierTbl[1000][50]={""};.

<+,33>

<-,34>

<*,35>

<>=,40>

<=,41>

<==,42>

<;,44>

<(,45>

<),46>

<^,47>

<,,48>

<",49>

<',50>

<#,51>

<&,52>

<&&,53>

<|,54>

<||,55>

<%,56>

<~,57>

<<<,58>左移

<>>,59>右移

<[,60>

<],61>

<{,62>

<},63>

<\,64>

<.,65>

<:,67>

"[","]","{","}"

<常数99 ,数值>

<标识符100 ,标识符指针>

*/

/********************************************************************************* *******/

, "\?", ":", "!"

};

static char IDentifierTbl[1000][50] = { "" }; || ch == '\?' || ch == ':')

{=

if (resourceProject[pProject] == '=')

{

syn = 42;

}

else

{

pProject--;

syn = 41;

}

pProject++;

return;

}

else if (resourceProject[pProject] == '!') {//!,!=

pProject++;

if (resourceProject[pProject] == '=')

{

syn = 43;

}

else

{

syn = 68;

pProject--;

}

pProject++;

return;

}

else if (resourceProject[pProject] == '&') {//&,&&

pProject++;

if (resourceProject[pProject] == '&')

{

syn = 53;

}

else

{

pProject--;

syn = 52;

}

pProject++;

return;

}

else if (resourceProject[pProject] == '|') {//|,||

pProject++;

{

syn = 55;

}

else

{

pProject--;

syn = 54;

}

pProject++;

return;

}

else if (resourceProject[pProject] == '$')

{//结束符

syn = 0;//种别码为0

}

else

{//不能被以上词法分析识别,则出错。

printf("error:there is no exist %c \n", ch);

exit(0);

}

}

int main()

{

//打开一个文件,读取其中的源程序

char resourceProject[10000];

char token[20] = { 0 };

int syn = -1, i;//初始化

int pProject = 0;//源程序指针

FILE *fp, *fp1;

if ((fp = fopen("D:\\", "r")) == NULL)

{//打开源程序

cout << "can't open this file";

exit(0);

}

resourceProject[pProject] = fgetc(fp);

while (resourceProject[pProject] != '$')

{//将源程序读入resourceProject[]数组

pProject++;

resourceProject[pProject] = fgetc(fp);

}

resourceProject[++pProject] = '\0';

fclose(fp);

cout << endl << "源程序为:" << endl;

cout << resourceProject << endl;

//对源程序进行过滤

filterResource(resourceProject, pProject);

cout << endl << "过滤之后的程序:" << endl;

cout << resourceProject << endl;

pProject = 0;//从头开始读

if ((fp1 = fopen("D:\\", "w+")) == NULL)

{//打开源程序

cout << "can't open this file";

exit(0);

}

while (syn != 0)

{

//启动扫描

Scanner(syn, resourceProject, token, pProject);

if (syn == 100)

{//标识符

for (i = 0; i<1000; i++)

{//插入标识符表中

if (strcmp(IDentifierTbl[i], token) == 0)

{//已在表中

break;

}

if (strcmp(IDentifierTbl[i], "") == 0)

{//查找空间

strcpy(IDentifierTbl[i], token);

break;

}

}

fprintf(fp1, "(标识符 ,%s)\n", token);

}

else if (syn >= 1 && syn <= 32)

{//保留字

printf("(%s , --)\n", reserveWord[syn - 1]);

fprintf(fp1, "(%s , --)\n", reserveWord[syn - 1]);

}

else if (syn == 99)

{//const 常数

printf("(常数 , %s)\n", token);

fprintf(fp1, "(常数 , %s)\n", token);

}

else if (syn >= 33 && syn <= 68)

{

printf("(%s , --)\n", operatorOrDelimiter[syn - 33]);

fprintf(fp1, "(%s , --)\n", operatorOrDelimiter[syn - 33]);

}

}

for (i = 0; i<100; i++)

{//插入标识符表中

printf("第%d个标识符: %s\n", i + 1, IDentifierTbl[i]);

fprintf(fp1, "第%d个标识符: %s\n", i + 1, IDentifierTbl[i]);

}

fclose(fp1);

return 0;

}

实验一词法分析实验报告

实验一词法分析 一、实验目的 通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。 编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error”,然后跳过错误部分继续显示) 二、实验要求 使用一符一种的分法 关键字、运算符和分界符可以每一个均为一种 标识符和常数仍然一类一种 三、实验内容 功能描述: 1、待分析的简单语言的词法 (1)关键字: begin if then while do end (2)运算符和界符: := + –* / < <= <> > >= = ; ( ) # (3)其他单词是标识符(ID)和整型常数(NUM),通过以下正规式定义: ID=letter(letter| digit)* NUM=digit digit * (4)空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM,运算符、界符和关键字,词法分析阶段通常被忽略。 2、各种单词符号对应的种别码 图 1

程序结构描述: 图 2 四、实验结果 输入begin x:=9: if x>9 then x:=2*x+1/3; end # 后经词法分析输出如下序列:(begin 1)(x 10)(:17)(= 18)(9 11)(;26)(if 2)……如图3所示:

图3 输入private x:=9;if x>0 then x:=2*x+1/3; end#后经词法分析输出如下序列:(private 10)(x 10)(:17)(= 18)(9 11)(;26)(if 2)……如图4所示: 图4 显然,private是关键字,却被识别成了标示符,这是因为图1中没有定义private关键字的种别码,所以把private当成了标示符。 输入private x:=9;if x>0 then x:=2*x+1/3; @ end#后经词法分析输出如下序列:(private 10)(x 10)(:17)(= 18)(9 11)(;26)(if 2)……如图5所示

数据分析实验报告

数据分析实验报告 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

第一次试验报告 习题1.3 1建立数据集,定义变量并输入数据并保存。 2数据的描述,包括求均值、方差、中位数等统计量。 分析—描述统计—频率,选择如下: 输出: 统计量 全国居民 农村居民 城镇居民 N 有效 22 22 22 缺失 均值 1116.82 747.86 2336.41 中值 727.50 530.50 1499.50 方差 1031026.918 399673.838 4536136.444 百分位数 25 304.25 239.75 596.25 50 727.50 530.50 1499.50 75 1893.50 1197.00 4136.75 3画直方图,茎叶图,QQ 图。(全国居民) 分析—描述统计—探索,选择如下: 输出: 全国居民 Stem-and-Leaf Plot Frequency Stem & Leaf 5.00 0 . 56788 数据分析实验报告 【最新资料,WORD 文档,可编辑修改】

2.00 1 . 03 1.00 1 . 7 1.00 2 . 3 3.00 2 . 689 1.00 3 . 1 Stem width: 1000 Each leaf: 1 case(s) 分析—描述统计—QQ图,选择如下: 输出: 习题1.1 4数据正态性的检验:K—S检验,W检验数据: 取显着性水平为0.05 分析—描述统计—探索,选择如下:(1)K—S检验

结果:p=0.735 大于0.05 接受原假设,即数据来自正太总体。 (2 )W 检验 结果:在Shapiro-Wilk 检验结果972.00 w ,p=0.174大于0.05 接受原假设,即数据来自正太总体。 习题1.5 5 多维正态数据的统计量 数据:

编译原理词法分析器语法分析器实验报告

编译技术 班级网络0802 学号3080610052姓名叶晨舟 指导老师朱玉全2011年 7 月 4 日

一、目的 编译技术是理论与实践并重的课程,而其实验课要综合运用一、二年级所学的多门课程的内容,用来完成一个小型编译程序。从而巩固和加强对词法分析、语法分析、语义分析、代码生成和报错处理等理论的认识和理解;培养学生对完整系统的独立分析和设计的能力,进一步培养学生的独立编程能力。 二、任务及要求 基本要求: 1.词法分析器产生下述小语言的单词序列 这个小语言的所有的单词符号,以及它们的种别编码和内部值如下表: 单词符号种别编码助记符内码值 DIM IF DO STOP END 标识符 常数(整)= + * ** , ( )1 2 3 4 5 6 7 8 9 10 11 12 13 14 $DIM $IF $DO $STOP $END $ID $INT $ASSIGN $PLUS $STAR $POWER $COMMA $LPAR $RPAR - - - - - - 内部字符串 标准二进形式 - - - - - - 对于这个小语言,有几点重要的限制: 首先,所有的关键字(如IF﹑WHILE等)都是“保留字”。所谓的保留字的意思是,用户不得使用它们作为自己定义的标示符。例如,下面的写法是绝对禁止的: IF(5)=x 其次,由于把关键字作为保留字,故可以把关键字作为一类特殊标示符来处理。也就是说,对于关键字不专设对应的转换图。但把它们(及其种别编码)预先安排在一张表格中(此表叫作保留字表)。当转换图识别出一个标识符时,就去查对这张表,确定它是否为一个关键字。 再次,如果关键字、标识符和常数之间没有确定的运算符或界符作间隔,则必须至少用一个空白符作间隔(此时,空白符不再是完全没有意义的了)。例如,一个条件语句应写为

实验一词法分析实验报告

实验一词法分析实验报告

实验一词法分析 一、实验目的 通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。 编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error”,然后跳过错误部分继续显示) 二、实验要求 使用一符一种的分法 关键字、运算符和分界符可以每一个均为一种标识符和常数仍然一类一种 三、实验内容 功能描述: 1、待分析的简单语言的词法 (1)关键字:

begin if then while do end (2)运算符和界符: := + –* / < <= <> > > = = ; ( ) # (3)其他单词是标识符(ID)和整型常数(NUM),通过以下正规式定义: ID=letter(letter| digit)* NUM=digit digit * (4)空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM,运算符、界符和关键字,词法分析阶段通常被忽略。 2、各种单词符号对应的种别码 图 1

程序结构描述: 是 否 是 调用scanner() 字母 数 其他 运算符、 符号 界符等符号 否 是 图 2 四、实验结果 输入begin x:=9: if x>9 then x:=2*x+1/3; end # 后经词法分析输出如 变量忽略 是否输入返 拼数 syn=11返 对不同报拼字是否关syn 为对syn=10

(完整word版)电子政务实验报告-南京奥派-详细版

实验报告 实验名称南京奥派电子政务 课程名称电子政务 院系部:专业班级: 学生姓名:学号: 指导教师:成绩: 实验日期: 2014年08月28日—2014年11月6日 华北电力大学

一、实验目的及要求: 奥派电子政务教学实践平台软件通过在一个完整的电子政务系统上进行模拟操作,让实验者在模拟实践中体会电子政务给政府传统办公带来的巨大变革,掌握大量电子政务系统的操作技巧。 通过实践操作体验电子政务的基本功能,将电子政务和实际教学结合起来,让实验者能够运用所学知识快速全面的理解和掌握政府机关办公单位的办公流程,并能初步掌握实施电子政务的基本方法和策略。在实践教学中了解政府内部办公和为公众服务方面等学习,提高实际动手能力,通过模拟政府内部办公的流程和实际业务,从而真正理解和领悟电子政务实施和应用的重要性和便民性。 二、仪器用具:

第一章档案管理 三、实验内容与步骤: 系统管理员: 包括系统信息维护(档馆信息维护、档案性质定义、档案密级定义、组成形式定义、收集形式定义、馆藏地址定义和类别定义)、系统用户设置(角色管理、用户管理、权限设置)和档案日志管理。任务一:基础信息设置1)档案馆信息维护 任务二:系统配置项维护 1)档案性质定义 2)档案密级定义 3)档案组成形式定义 4)档案收集形式定义 5)馆藏地址定义 6)类别定义 任务三:系统用户设置 1)角色管理 2)定义用户信息 3)权限设置 任务四:档案日志管理 1)档案日志查询 2)档案日志删除 档案管理人员: 主要有保管员、编研工作者、审核员、收集员、鉴定员等。可

以实现收集管理、业务处理、技术处理、编研利用、出库管理、检索与统计、预警管理等。 任务五:档案收集管理 1)档案收集 2)档案审核 3)档案编目 4)档案入库 任务六:业务处理 1)档案接收 2)档案保管 3)鉴定 任务七:技术处理 1)档案加密保护 2)档案微缩处理 3)档案数字化处理 任务八:编研利用以及大厅用户注册 1)档案编研 2)档案发布 3)档案借阅 任务九:出库管理 1)档案转出 2)档案销毁任务 十:档案检索

【实验报告】SPSS相关分析实验报告

SPSS相关分析实验报告 篇一:spss对数据进行相关性分析实验报告 实验一 一.实验目的 掌握用spss软件对数据进行相关性分析,熟悉其操作过程,并能分析其结果。 二.实验原理 相关性分析是考察两个变量之间线性关系的一种统计分析方法。更精确地说,当一个变量发生变化时,另一个变量如何变化,此时就需要通过计算相关系数来做深入的定量考察。P值是针对原假设H0:假设两变量无线性相关而言的。一般假设检验的显著性水平为0.05,你只需要拿p值和0.05进行比较:如果p值小于0.05,就拒绝原假设H0,说明两变量有线性相关的关系,他们无线性相关的可能性小于0.05;如果大于0.05,则一般认为无线性相关关系,至于相关的程度则要看相关系数R值,r越大,说明越相关。越小,则相关程度越低。而偏相关分析是指当两个变量同时与第三个变量相关时,将第三个变量的影响剔除,只分析另外两个变量之间相关程度的过程,其检验过程与相关分析相似。三、实验内容 掌握使用spss软件对数据进行相关性分析,从变量之间的相关关系,寻求与人均食品支出密切相关的因素。 (1)检验人均食品支出与粮价和人均收入之间的相关关系。 a.打开spss软件,输入“回归人均食品支出”数据。

b.在spssd的菜单栏中选择点击,弹出一个对话窗口。 C.在对话窗口中点击ok,系统输出结果,如下表。 从表中可以看出,人均食品支出与人均收入之间的相关系数为0.921,t检验的显著性概率为0.0000.01,拒绝零假设,表明两个变量之间显著相关。人均食品支出与粮食平均单价之间的相关系数为0.730,t检验的显著性概率为 0.0000.01,拒绝零假设,表明两个变量之间也显著相关。 (2)研究人均食品支出与人均收入之间的偏相关关系。 读入数据后: A.点击系统弹出一个对话窗口。 B.点击OK,系统输出结果,如下表。 从表中可以看出,人均食品支出与人均收入的偏相关系数为0.8665,显著性概率p=0.0000.01,说明在剔除了粮食单价的影响后,人均食品支出与人均收入依然有显著性关系,并且0.86650.921,说明它们之间的显著性关系稍有减弱。通过相关关系与偏相关关系的比较可以得知:在粮价的影响下,人均收入对人均食品支出的影响更大。 三、实验总结 1、熟悉了用spss软件对数据进行相关性分析,熟悉其操作过程。 2、通过spss软件输出的数据结果并能够分析其相互之间的关系,并且解决实际问题。 3、充分理解了相关性分析的应用原理。

编译原理实验报告(语法分析器)

. 编译原理实验专业:13级网络工程

语法分析器1 一、实现方法描述 所给文法为G【E】; E->TE’ E’->+TE’|空 T->FT’ T’->*FT’|空 F->i|(E) 递归子程序法: 首先计算出五个非终结符的first集合follow集,然后根据五个产生式定义了五个函数。定义字符数组vocabulary来存储输入的句子,字符指针ch指向vocabulary。从非终结符E函数出发,如果首字符属于E的first集,则依次进入T函数和E’函数,开始递归调用。在每个函数中,都要判断指针所指字符是否属于该非终结符的first集,属于则根据产生式进入下一个函数进行调用,若first集中有空字符,还要判断是否属于该非终结符的follow集。以分号作为结束符。 二、实现代码 头文件shiyan3.h #include #include

#include using namespace std; #define num 100 char vocabulary[num]; char *ch; void judge_E(); void judge_EE(); void judge_T(); void judge_TT(); void judge_F(); 源文件 #include"shiyan3.h" void judge_E() { if(*ch==';') { cout<<"该句子符合此文法!"<

int a=0; cout<<"按1结束程序"<>a; if(a==1) exit(0); } else if(*ch=='('||*ch=='i') { judge_T(); judge_EE(); } else { cout<<"该句子不匹配此文法!"<>a; if(a==1) exit(0); }

TEST语言 -语法分析,词法分析实验报告

编译原理实验报告 实验名称:分析调试语义分析程序 TEST抽象机模拟器完整程序 保证能用!!!!! 一、实验目的 通过分析调试TEST语言的语义分析和中间代码生成程序,加深对语法制导翻译思想的理解,掌握将语法分析所识别的语法范畴变换为中间代码的语义翻译方法。 二、实验设计 程序流程图

extern int TESTScan(FILE *fin,FILE *fout); FILE *fin,*fout; //用于指定输入输出文件的指针 int main() { char szFinName[300]; char szFoutName[300]; printf("请输入源程序文件名(包括路径):"); scanf("%s",szFinName); printf("请输入词法分析输出文件名(包括路径):"); scanf("%s",szFoutName); if( (fin = fopen(szFinName,"r")) == NULL) { printf("\n打开词法分析输入文件出错!\n"); return 0; } if( (fout = fopen(szFoutName,"w")) == NULL) { printf("\n创建词法分析输出文件出错!\n"); return 0; } int es = TESTScan(fin,fout); fclose(fin); fclose(fout); if(es > 0) printf("词法分析有错,编译停止!共有%d个错误!\n",es); else if(es == 0) { printf("词法分析成功!\n"); int es = 0;

电子政务信息平台实验报告

电子政务信息平台实验报告 电子政务信息平台实验报告 通过短短一学期对电子政务这门课程的学习,我学习到了很多。在实践学习中,我基本掌握了电子政务操作平台,在理论学习中,对各国的电子政务的发展有了了解,对电子政务的整体有了认知。 第一对“电子政务实践平台”的整体认识 我们选择的电子政务实践平台是奥派电子政务实践平台。奥派电子政务实践平台包括政府信息门户、政府办公系统、招标采购平台、公文传输系统、国有资产管理系统等多套软件系统。 系统按照电子政务成熟阶段的政府组织机构和运行方式,建立模拟的一体化电子政务体系,让学员在模拟环境下,分别以公众、企业、政府公务员等不同的角色进入教学模拟系统的前台(面向公众和企业的门户网站)和后台(政府机关的办公自动化系统或职能部门的业务处理系统)进行实际的操作。从而通过这种生动形象的实际操作和情景式教学方式,使学员了解电子政务的整体形态;政府内部管理与外部管理和服务等各个电子政务系统运行的方式。通过实践课程学习对电子政务形成感性认识,通过实际操作体验电子政务的基本功能,从而感受到实施电子政务的重要性,并能够初

步掌握实施电子政务的基本方法和策略。 奥派推出的电子政务教学软件旨在构建一个虚拟的各级政府机构的一个基于国际互联网的信息交互与应用平台,通过营造一个真正快捷、共享、安全的政务工作环境,建立"一站式"的政务服务体系。系统具有网上申报、登记、审批、查询等行政管理功能。在网上公开行政审批项目的办理机构、申办条件、办理时限、办理程序、办理材料,有条件的可以实现网上查询、申办、登记和审批。 奥派电子政务实践平台系统的特点 一政府部门对外统一窗口提供各种职能服务; 二政府对内可以提供适应各部门电子办公的接入系统; 三民众可以在网站了解或办理部分或所有服务事项; 四适用不同群体需要,全方位提供特定内容; 五个性化设置体现"以人为本"服务理念; 六个人用户注册得到统一用户码,作为办事的通用账号,可以登录查询整个办事流程,审批的进展状态和提醒通知公告服务。 第二对主要实验模块操作的理解 奥派电子政务实践平台包括政府信息门户、政府办公系统、招标采购平台、公文传输系统、国有资产管理系统。 一政府信息门户 政府信息门户分为前台与后台。

(实习报告)企业实习相关分析报告范文

企业实习相关分析报告范文 本次外出实习,部里安排我到xx会计师事务所实习,主要任务是协助各注册会计师到各街道进行查账,主要工作有编制工作底稿,查阅凭证,帐簿,报表发现问题,提出审计意见,进行现金盘点,资产清查,编制审计报告等。 本次外出实习,我感觉收获特别大。第一:收集了很多教学素材案例,在审计过程中,一旦我发现有对我以后教学有用的东西,我都会用笔记本记录下来。故此,这次外出企业实习,我做的笔记就有3本。我相信这些素材将会对我以,后教学提供很多帮助。本学期我讲授企业单项实训课程,在授课时就经常顺手拈来我外出审计中碰到的很多案例感觉教学效果很好。第二:了解目前企业会计现状以及他们在做帐过程中存在的各种问题及种种舞弊现象。第三:向注册会计师学习了很多知识,对于我在审计过程中碰到的各种问题,我都会虚心地向xx会计师事务所的老师询问,对于我提出的各种轰炸式提问,他们都很耐心地给予回答。第四:近距离接触,真正了解到对会计人员各方面素质及要求,为我以后在讲授课程时对于授课内容如何有所侧重更有帮助。本次发言,张部长主要让我谈一谈目前企业对会计人员要求,我们在教学中应注重培养学生哪些方面知识.我以为主要有以下几方面:一,会计电算化知识 本次外出企业查帐,我发现大部分企业已实现用电脑做帐,而且大部分企业公司都是采用金蝶财务软件做帐,少部分采用用友软件做帐。故此,我们应重点加强这方面知识讲授,让每位同学都能达到熟练运用这2个财务软件.既然是用电脑做帐,对打字速度有一定要求,一般要求学生每分钟要达到40-50个字左右。 二,税务知识 本次外出企业查帐,我发现很多公司因为规模较小,只设有一名会计人员,会计人员可以说是一名多面手、做帐、报税等均是他的工作。所以,我们以后应加强税务知识讲授,尤其是税务实务操作练习,教会每会学生如何申请报税、计税、缴税、尤其是几个主要税种,如个人所得税、企业所得税、营业税、房产税等更要重点讲授。 三,出纳方面知识 由于我们的学生学历较低,很多同学毕业后只能担任出纳,故此,对于出纳工作主要职责(如登记现金日记帐、银行存款日记帐、保管库存现金、有价证券、空白发票、支票印章)以及应具备技能(如点钞、计算器、辩别真假钞票)等应让学生熟练掌握。 四,财会法规知识

词法分析器实验报告

词法分析器实验报告 词法分析器设计 一、实验目的: 对C语言的一个子集设计并实现一个简单的词法分析器,掌握利用状 态转换图设计词法分析器的基本方法。利用该词法分析器完成对源程 序字符串的词法分析。输出形式是源程序的单词符号二元式的代码, 并保存到文件中。 二、实验内容: 1. 设计原理 词法分析的任务:从左至右逐个字符地对源程序进行扫描,产生一个个单词符号。 理论基础:有限自动机、正规文法、正规式 词法分析器(Lexical Analyzer) 又称扫描器(Scanner):执行词法分析的程序 2. 词法分析器的功能和输出形式 功能:输入源程序、输出单词符号 程序语言的单词符号一般分为以下五种:关键字、标识符、常数、运算符,界符 3. 输出的单词符号的表示形式: 单词种别用整数编码,关键字一字一种,标识符统归为一种,常数一种,各种符号各一种。 4. 词法分析器的结构 单词符号 5. 状态转换图实现

三、程序设计 1.总体模块设计 /*用来存储目标文件名*/ string file_name; /*提取文本文件中的信息。*/ string GetText(); /*获得一个单词符号,从位置i开始查找。并且有一个引用参数j,用来返回这个单词最后一个字符在str的位置。*/ string GetWord(string str,int i,int& j); /*这个函数用来除去字符串中连续的空格和换行 int DeleteNull(string str,int i); /*判断i当前所指的字符是否为一个分界符,是的话返回真,反之假*/ bool IsBoundary(string str,int i); /*判断i当前所指的字符是否为一个运算符,是的话返回真,反之假*/ bool IsOperation(string str,int i);

电子政务实验报告.doc

电子政务实验报告 通过短短一学期对电子政务这门课程的学习,我学习到了很多。在实践学习中,我基本掌握了电子政务操作平台,在理论学习中,对各国的电子政务的发展有了了解,对电子政务的整体有了认知。 第一对“电子政务实践平台”的整体认识 我们选择的电子政务实践平台是奥派电子政务实践平台。奥派电子政务实践平台包括政府信息门户、政府办公系统、招标采购平台、公文传输系统、国有资产管理系统等多套软件系统。 系统按照电子政务成熟阶段的政府组织机构和运行方式,建立模拟的一体化电子政务体系,让学员在模拟环境下,分别以公众、企业、政府公务员等不同的角色进入教学模拟系统的前台(面向公众和企业的门户网站)和后台(政府机关的办公自动化系统或职能部门的业务处理系统)进行实际的操作。从而通过这种生动形象的实际操作和情景式教学方式,使学员了解电子政务的整体形态;政府内部管理与外部管理和服务等各个电子政务系统运行的方式。通过实践课程学习对电子政务形成感性认识,通过实际操作体验电子政务的基本功能,从而感受到实施电子政务的重要性,并能够初步掌握实施电子政务的基本方法和策略。 奥派推出的电子政务教学软件旨在构建一个虚拟的各级政府机构的一个基于国际互联网的信息交互与应用平台,通过营造一个真正快捷、共享、安全的政务工作环境,建立"一站式"的政务服务体系。系统具有网上申报、登记、审批、查询等行政管理功能。在网上公开行政审批项目的

办理机构、申办条件、办理时限、办理程序、办理材料,有条件的可以实现网上查询、申办、登记和审批。 奥派电子政务实践平台系统的特点 一政府部门对外统一窗口提供各种职能服务; 二政府对内可以提供适应各部门电子办公的接入系统; 三民众可以在网站了解或办理部分或所有服务事项; 四适用不同群体需要,全方位提供特定内容; 五个性化设置体现"以人为本"服务理念; 六个人用户注册得到统一用户码,作为办事的通用账号,可以登录查询整个办事流程,审批的进展状态和提醒通知公告服务。 第二对主要实验模块操作的理解 奥派电子政务实践平台包括政府信息门户、政府办公系统、招标采购平台、公文传输系统、国有资产管理系统。 一政府信息门户 政府信息门户分为前台与后台。 前台包括政府信息门户栏目的规划和设计、信息资料的发布(供查看)、信息资料的发布(供下载)、专题的规划和设计、内置组件(留言板、反馈系统、调查等)系统的生成与管理、链接的使用(友情链接、栏目链接、文章链接等)、首页的规划与生成、访问统计系统的使用、权限的设置与管理。 后台信息查看、信息搜索、留言板的使用、反馈系统的使用、调查系统的使用、资料的下载。

数据分析实验报告

数据分析实验报告 【最新资料,WORD文档,可编辑修改】 第一次试验报告 习题1.3 1建立数据集,定义变量并输入数据并保存。 2数据的描述,包括求均值、方差、中位数等统计量。 分析—描述统计—频率,选择如下: 输出:

方差1031026.918399673.8384536136.444百分位数25304.25239.75596.25 50727.50530.501499.50 751893.501197.004136.75 3画直方图,茎叶图,QQ图。(全国居民) 分析—描述统计—探索,选择如下: 输出: 全国居民Stem-and-Leaf Plot Frequency Stem & Leaf 9.00 0 . 122223344 5.00 0 . 56788 2.00 1 . 03 1.00 1 . 7 1.00 2 . 3 3.00 2 . 689

1.00 3 . 1 Stem width: 1000 Each leaf: 1 case(s) 分析—描述统计—QQ图,选择如下: 输出: 习题1.1 4数据正态性的检验:K—S检验,W检验数据: 取显着性水平为0.05 分析—描述统计—探索,选择如下:(1)K—S检验 单样本Kolmogorov-Smirnov 检验 身高N60正态参数a,,b均值139.00

标准差7.064 最极端差别绝对值.089 正.045 负-.089 Kolmogorov-Smirnov Z.686 渐近显着性(双侧).735 a. 检验分布为正态分布。 b. 根据数据计算得到。 结果:p=0.735 大于0.05 接受原假设,即数据来自正太总体。(2)W检验

词法分析器实验报告

词法分析器实验报告 一、实验目的及要求 本次实验通过用C语言设计、编制、调试一个词法分析子程序,识别单词,实现一个C语言词法分析器,经过此过程可以加深对编译器解析单词流的过程的了解。 运行环境: 硬件:windows xp 软件:visual c++6.0 二、实验步骤 1.查询资料,了解词法分析器的工作过程与原理。 2.分析题目,整理出基本设计思路。 3.实践编码,将设计思想转换用c语言编码实现,编译运行。 4.测试功能,多次设置包含不同字符,关键字的待解析文件,仔细察看运行结果,检测该分析器的分析结果是否正确。通过最终的测试发现问题,逐渐完善代码中设置的分析对象与关键字表,拓宽分析范围提高分析能力。 三、实验内容 本实验中将c语言单词符号分成了四类:关键字key(特别的将main说明为主函数)、普通标示符、常数和界符。将关键字初始化在一个字符型指针数组*key[]中,将界符分别由程序中的case列出。在词法分析过程中,关键字表和case列出的界符的内容是固定不变的(由程序中的初始化确定),因此,从源文件字符串中识别出现的关键字,界符只能从其中选取。标识符、常数是在分析过程中不断形成的。 对于一个具体源程序而言,在扫描字符串时识别出一个单词,若这个单词的类型是关键字、普通标示符、常数或界符中之一,那么就将此单词以文字说明的形式输出.每次调用词法分析程序,它均能自动继续扫描下去,形成下一个单词,直到整个源程序全部扫描完毕,从而形成相应的单词串。 输出形式例如:void $关键字

流程图、程序流程图:

程序: #include #include #include #include //定义关键字 char *Key[10]={"main","void","int","char","printf","scanf","else","if","return"}; char Word[20],ch; // 存储识别出的单词流 int IsAlpha(char c) { //判断是否为字母 if(((c<='z')&&(c>='a'))||((c<='Z')&&(c>='A'))) return 1; else return 0; } int IsNum(char c){ //判断是否为数字 if(c>='0'&&c<='9') return 1; else return 0; } int IsKey(char *Word){ //识别关键字函数 int m,i; for(i=0;i<9;i++){ if((m=strcmp(Word,Key[i]))==0) { if(i==0) return 2; return 1; } } return 0; } void scanner(FILE *fp){ //扫描函数 char Word[20]={'\0'}; char ch; int i,c; ch=fgetc(fp); //获取字符,指针fp并自动指向下一个字符 if(IsAlpha(ch)){ //判断该字符是否是字母 Word[0]=ch; ch=fgetc(fp);

词法分析的实验报告

《词法分析》实验报告

目录 目录错误!未定义书签。 1 实验目的错误!未定义书签。 2 实验内容错误!未定义书签。 TINY计算机语言描述错误!未定义书签。 实验要求错误!未定义书签。 3 此法分析器的程序实现错误!未定义书签。状态转换图错误!未定义书签。 程序源码错误!未定义书签。 实验运行效果截图错误!未定义书签。 4 实验体会错误!未定义书签。

实验目的 1、学会针对DFA转换图实现相应的高级语言源程序。 2、深刻领会状态转换图的含义,逐步理解有限自动机。 3、掌握手工生成词法分析器的方法,了解词法分析器的内部工作原理。 实验内容 TINY计算机语言描述 TINY计算机语言的编译程序的词法分析部分实现。 从左到右扫描每行该语言源程序的符号,拼成单词,换成统一的内部表示(token)送给语法分析程序。 为了简化程序的编写,有具体的要求如下: 1、数仅仅是整数。 2、空白符仅仅是空格、回车符、制表符。 3、代码是自由格式。 4、注释应放在花括号之内,并且不允许嵌套 TINY语言的单词 要求实现编译器的以下功能 1、按规则拼单词,并转换成二元式形式 2、删除注释行 3、删除空白符(空格、回车符、制表符) 4、列表打印源程序,按照源程序的行打印,在每行的前面加上行号,并且打印出每行包含的记号的二元形式 5、发现并定位错误 词法分析进行具体的要求 1、记号的二元式形式中种类采用枚举方法定义;其中保留字和特殊字符是每个都一个种类,标示符自己是一类,数字是一类;单词的属性就是表示的字符串值。 2、词法分析的具体功能实现是一个函数GetToken(),每次调用都对剩余的字符串分析得到一个单词或记号识别其种类,收集该记号的符号串属性,当识别一个单词完毕,采用返回值的形式返回符号的种类,同时采用程序变量的形式提供当前识别出记号的属性值。这样配合语法分析程序的分析需要的记号及其属性,生成一个语法树。

行政审批实验报告

序号 4 实验名称指导老师成绩专业班级姓名学号

(二)登录方式 第一步:学生管理—→进入实验—→行政审批系统 第二步:注册行政区划名称,如庆阳市(第一次登陆必须注册) 第三步:选择要模拟的角色(政府部门、企业角色或个人角色),进行首页登入、后台登入或网站管理后进行相应的操作。 (三)操作过程 1、企业注册流程 企业注册有两种类型,一种是需要前置审批的注册,一种是不需要前置审批的注册。两种注册程序基本一致,以下以需要前置审批的企业注册为例,重点介绍其完整的注册流程。 第一步:以政府部门的角色选择卫生局进行后台登入,在基础资料设定项进行事件设定(如添加供水单位卫生许可审批)、材料设定(如添加卫生许可证申请书和水质检验合格报告)和法规设定(如添加中华人民共和国传染病防治法和生活饮用水监督管理办法),并按提示对事件设定、材料设定和法规设定里添加的内容设置其属性;在事件关系设定项,将在基础材料设定项添加的对应材料和对应法规添加进来,以便与设定的事件相联系。如下图所示: 最后进入网站管理,在材料设定项中将前面已设定好的事件进行添加,为下面前置审批做好准备。 第二步:进行首页登入进入政务大厅,点击里面的行政审批事项或工商局,进入页面如下图所示:

选择需要进行注册的企业类型点击进入申办页面,再点击申办按钮后进入名称预审页面,按提示进行填写,例如注册名称为美伊酒业有限责任公司,如下图所示: 最后点击提交完成此阶段操作。 第三步:以政府部门的角色选择工商局进行后台登入,选择企业申请项目中企业注册项,进入企业名称预先审核页面,如下图所示: 最后进行审批,点击提交。

spss实验报告最终版本

实验课程专业统计软件应用 上课时间2012 学年 1 学期15 周(2012 年12 月18日—28 日) 学生姓名李艳学号2010211587 班级0331002 所在学院经济管 上课地点经管3 楼指导教师胡大权理学院

实验内容写作 第六章 一实验目的 1、理解方差分析的基本概念 2、学会常用的方差分析方法 二实验内容 实验原理:方差分析的基本原理是认为不同处理组的均值间的差别基本来源有两个:随机误差,如测 量误差造成的差异或个体间的差异,称为组内差异 根据老师的讲解和课本的习题完成思考与练习的5、6、7、8题。 第5题:为了寻求适应某地区的高产油菜品种,今选5个品种进行试验,每一种在4块条件完全相同的试验田上试种,其他施肥等田间管理措施完全一样。表 6.20所示为每一品种下每一块田的亩产量,根 据这些数据分析不同品种油菜的平均产量在显著水平0.05下有无显著性差异。 第一步分析 由于考虑的是控制变量对另一个观测变量的影响,而且是5个品种,所以不宜采用独立样本T检验,应该采用单因素方差分析。 第二步数据的组织 从实验材料中直接导入数据 第三步方差相等的齐性检验 由于方差分析的前提是各水平下的总体服从方差相等的正态分布,而且各组的方差具有齐性,其中正 态分布的要求并不是非常严格,但是对于方差相等的要求还是比较严格的,因此必须对方差相等的前提进 行检验。

第四步多重比较分析 通过上面的步骤,只能判断不同的施肥等田间操作效果是否有显著性差异,如果要想进一步了解究竟那 个品种与其他的有显著性均值差别等细节问题,就需要单击上图中的两两比较按钮。 第五步运行结果及分析 多重比较结果表:从该表可以看出分别对几个不同的品种进行的两两比较。最后我们可以得出结论第4品种是最好的。其他的次之。 第6题:某公司希望检测四种类型类型轮胎A,B,C,D的寿命,如表 6.21所示。其中每种轮胎应用在随选择的6种汽车上,在显著性水平0.05下判断不同类型轮胎的寿命间是否存在显著性差异。 第一步分析 由于考虑的是一个控制变量对另一个控制变量的影响,而且是4种轮胎,所以不宜采用独立样本T 检验,应该采用单因素方差分析。 第二步数据的组织 从实验材料中直接导入数据。 第三步方差相等的齐性检验 由于方差分析的前提是各水平下的总体服从方差相等的正态分布,而且各组的方差具有齐性,其中正态分 布的要求并不是非常严格,但是对于方差相等的要求还是比较严格的,因此必须对方差相等的前提进行检 验。选择菜单“分析”—均值比较—单因素ANOVA。

编译原理语法分析器实验报告

编译原理语法分析器实验报告 班级: 学号: 姓名:

实验名称语法分析器 一、实验目的 1、根据某一文法编制调试LL(1)分析程序,以便对任意输入的符号串进行分析。 2、本次实验的目的主要是加深对自上而下分析法的理解。 二、实验内容 [问题描述] 递归下降分析法: 0.定义部分:定义常量、变量、数据结构。 1.初始化:从文件将输入符号串输入到字符缓冲区中。 2.利用递归下降分析法分析,对每个非终结符编写函数,在主函数中调用文法开始符号的函数。 LL(1)分析法: 模块结构: 1、定义部分:定义常量、变量、数据结构。 2、初始化:设立LL(1)分析表、初始化变量空间(包括堆栈、结构体等); 3、运行程序:让程序分析一个text文件,判断输入的字符串是否符合文法定义的规则; 4、利用LL(1)分析算法进行表达式处理:根据LL(1)分析表对表达式 符号串进行堆栈(或其他)操作,输出分析结果,如果遇到错误则显示简 单的错误提示。 [基本要求] 1. 对数据输入读取 2. 格式化输出分析结果 2.简单的程序实现词法分析 public static void main(String args[]) { LL l = new LL(); l.setP(); String input = ""; boolean flag = true;

while (flag) { try { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); System.out.println(); System.out.print("请输入字符串(输入exit退出):"); input = br.readLine(); } catch (Exception e) { e.printStackTrace(); } if(input.equals("exit")){ flag = false; }else{ l.setInputString(input); l.setCount(1, 1, 0, 0); l.setFenxi(); System.out.println(); System.out.println("分析过程"); System.out.println("----------------------------------------------------------------------"); System.out.println(" 步骤| 分析栈 | 剩余输入串| 所用产生式"); System.out.println("----------------------------------------------------------------------"); boolean b = l.judge(); System.out.println("----------------------------------------------------------------------"); if(b){ System.out.println("您输入的字符串"+input+"是该文法的一个句子"); }else{ System.out.println("您输入的字符串"+input+"有词法错误!");

词法分析实验报告

编译原理实验一 姓名:朱彦荣 学号: 专业:软件工程2 实验题目:词法分析 完成语言:C/C++ 上级系统:VC++6.0 日期:2015/11/7 词法分析 设计题目:手工设计c语言的词法分析器 (可以是c语言的子集) 设计内容: 处理c语言源程序,过滤掉无用符号,判断源程序中单词的合法性,并分解出正确的单词,以二元组形式存放在文件中。 设计目的: 了解高级语言单词的分类,了解状态图以及如何表示并识别单词规则,掌握状态图到识别程序的编程。 结果要求:课程设计报告。 完成日期:第十五周提交报告 一.分析 要想手工设计词法分析器,实现C语言子集的识别,就要明白什么是词法

主要是对源程序进行编译预处理(去除注释、无用的回车换行找到包含的文件等)之后,对整个源程序进行分解,分解成一个个单词,这些单词有且只有五类,分别是标识符、保留字、常数、运算符、界符。以便为下面的语法分析和语义分析做准备。可以说词法分析面向的对象是单个的字符,目的是把它们组成有效的单词(字符串);而语法的分析则是利用词法分析的结果作为输入来分析是否符合语法规则并且进行语法制导下的语义分析,最后产生四元组(中间代码),进行优化(可有可无)之后最终生成目标代码。可见词法分析是所有后续工作的基础,如果这一步出错,比如明明是‘<=’却被拆分成‘<’和‘=’就会对下文造成不可挽回的影响。因此,在进行词法分析的时候一定要定义好这五种符号的集合。下面是我构造的一个C语言子集。 第一类:标识符letter(letter | digit)* 无穷集 第二类:常数(digit)+ 无穷集 第三类:保留字(32) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while 第四类:界符‘/*’、‘//’、() { } [ ] " " ' 等 第五类:运算符<、<=、>、>=、=、+、-、*、/、^、等 对所有可数符号进行编码: <$,0> ... <+,33> <-,34> <*,35> <<,37> <<=,38> <>,39> <>=,40>

相关与回归分析实验报告

课程论文 题目统计学实验 学院数学与统计学院 专业金融数学 班级14金融数学 学生姓名罗星蔓 指导教师胡桂华 职称教授 2016 年 6 月21 日

相关与回归分析实验报告 一、实验目的:用EXCEL进行相关分析和回归分析. 二、实验内容: 1.用EXCEL进行相关分析. 2.用EXCEL进行回归分析. 三、实验步骤 采用下面的例子进行相关分析和回归分析. 相关分析: 数学分数(x)统计学分数(y) 数学分数(x) 1 统计学分数(y) 0.986011 1 回归分析: SUMMARY OUTPUT 回归统计 Multiple R 0.986011 R Square 0.972217 Adjusted R 0.968744 Square 标准误差 2.403141 观测值 x 方差分 析

df SS MS F Significance F 回归分析1 1616.69 9 1616.69 9 279.943 8 1.65E-07 残差8 46.2006 9 5.77508 6 总计9 1662.9 Coefficie nts 标准误 差 t Stat P-valu e Lower 95% Upper 95% 下限 95.0% 上限 95.0% Intercept 12.32018 4.2862 79 2.8743 3 0.0206 91 2.4360 05 22.204 36 2.4360 05 22.204 36 数学分数(x)0.896821 0.0536 01 16.731 52 1.65E- 07 0.7732 18 1.0204 24 0.7732 18 1.0204 24 RESIDUAL OUTPUT 观测值预测统计学分数 (y) 残差标准残差 1 84.06587 0.934133 0.412293 2 93.03408 -1.03408 -0.4564 3 66.12945 3.87055 4 1.708324 4 93.03408 -3.03408 -1.33913 5 82.27223 0.727775 0.321214 6 90.34361 -0.34361 -0.15166 7 93.03408 0.965922 0.426323 8 52.67713 -2.67713 -1.18159 9 90.34361 2.656385 1.172433 10 84.06587 -2.06587 -0.9118 PROBABILITY OUTPUT 百分比排 位统计学分数 (y) 5 50 15 70 25 82 35 83 45 85 55 90 65 90 75 92

相关文档
最新文档