搜档网
当前位置:搜档网 › 编译原理课程设计报告_LL(1)分析过程模拟

编译原理课程设计报告_LL(1)分析过程模拟

编译原理课程设计报告_LL(1)分析过程模拟
编译原理课程设计报告_LL(1)分析过程模拟

课程设计(论文)任务书

软件学院学院软件工程专业07-1班

一、课程设计(论文)题目LL(1)分析过程模拟

二、课程设计(论文)工作自 2010 年 6 月 22日起至 2010 年 6月 28 日止。

三、课程设计(论文) 地点:

四、课程设计(论文)内容要求:

1.本课程设计的目的

(1)使学生掌握LL(1)模块的基本工作原理;

(2)培养学生基本掌握LL(1)分析的基本思路和方法;

(3)使学生掌握LL(1)的调试;

(4)培养学生分析、解决问题的能力;

(5)提高学生的科技论文写作能力。

2.课程设计的任务及要求

1)基本要求:

(1)分析LL(1)模块的工作原理;

(2)提出程序的设计方案;

(3)对所设计程序进行调试。

2)创新要求:

在基本要求达到后,可进行创新设计,如改算法效率。

3)课程设计论文编写要求

(1)要按照书稿的规格打印誊写课程设计论文

(2)论文包括目录、绪论、正文、小结、参考文献、附录等

(3)课程设计论文装订按学校的统一要求完成

4)答辩与评分标准:

(1)完成原理分析:20分;

(2)完成设计过程(含翻译):40分;

(3)完成调试:20分;

(4)回答问题:20分。

5)参考文献:

(1)张素琴,吕映芝,蒋维杜,戴桂兰.编译原理(第2版).清华大学出版社

(2)丁振凡.《Java语言实用教程》北京邮电大学出版社

6)课程设计进度安排

内容天数地点

构思及收集资料2图书馆

编程与调试4实验室

撰写论文1图书馆、实验室

学生签名:

2009 年6 月22 日

课程设计(论文)评审意见

(1)完成原理分析(20分):优()、良()、中()、一般()、差();(2)设计分析(20分):优()、良()、中()、一般()、差();(3)完成调试(20分):优()、良()、中()、一般()、差();(4)翻译能力(20分):优()、良()、中()、一般()、差();(5)回答问题(20分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是()、否()

评阅人:职称:

年月日

一、 课设题目

1. 问题描述

设计一个给定LL (1)分析表,输入一个句子,能由依据LL (1)分析表输出与句子对应的语法树。能对语法树生成过程进行模拟。 2. 基本要求

动态模拟算法的基本功能是:

(1) 输入LL (1)分析表和一个句子; (2) 输出LL (1)总控程序;

(3) 输出依据句子构成的对应语法树的过程; 3. 测试数据

输入句子:i*i+i

输入LL (1)分析表

→(E )

→i F →ε → ε →*F B → ε

B →F B

→F B T →ε → ε →+T A A →T A

→T A E

#

) (

* +

i

二、需求分析

1.问题理解

用数据库存储多行文法,用LIST控件显示算法,用GRID类依据算法进行作图。并实现算法与生成过程的关联。

2.问题分析

求出First集和Follow集,是求出Select集的基础,因此本程序也做了些完善,功能扩展发面,在出First集和Follow集的基础上求Select集,判断是否为LL1文法,构造预测分析表。判断是在LL1分析文法中通过Select集判断是否是LL1文法,求出预测分析表之后,实现了字符串,依据LL1分析表单步输出字符串的分析过程。

3.问题的解决

其实要知道一串符号是不是该文法的一个句子,只要判断是否能从文法的开始符号出发推导出这个输入串。语法分析可以分为两类,一类是自上而下的分析法,一类是自下而上的分析法。自上而下的主旨是,对任何输入串,试图用一切可能的办法,从文法开始符号出发,自上而下的为输入串建立一棵语法树。或者说,为输入串寻找一个最左推倒,这种分析过程的本质是一种试探过程,是反复使用不同产生式谋求匹配输入串的过程我主要是自上而下的过程。

4.解决步骤

总体步骤

在自上而下的分析法中,主要是研究LL(1)分析法。它的解决步骤是首先接收到用户输入的一个文法,对文法进行检测和处理,消除左递归,得到LL(1)文法,这个文法应该满足:无二义性,无左递归,无左公因子。当文法满足条件后,再分别构造文法每个非终结符的FIRST和FOLLOW集合,然后根据FIRST和

FOLLOW集合构造LL(1)分析表,最后利用分析表,根据LL(1)语法分析构造一个分析器。LL(1)的语法分析程序包含了三个部分,总控程序,预测分析表函数,先进先出的语法分析栈。FIRST集的确定

FIRST集使用以下四个步骤判定:

(1)若X∈VT ,则FIRST(X)={X}

(2)若X∈VN,且有产生式X→a…,a∈VT 。

则把a加入到FIRST(X)中,即a∈FIRST(X)

(3)若X∈VN,且有产生式X→$,

则把$也加到FIRST(X)中,即$∈FIRST(X)

(4)若X∈VN, Y1,Y2,…,Yi 都∈VN,

且有产生式X→Y1Y2…Yn。当Y1,..Yi-1=>$ (1≤i≤n),则

FIRST(Y1)-{$},…,FIRST(Yi-1)-{$},FIRST(Yi)都包含

在FIRST(X)中,即:

FIRST(Yi-1)-{$} ∈FIRST(X)

所有Y1,…Yn *=> $ ,则把$加到FIRST(X)中,即:

FIRST(Yi) ∈FIRST(X)

FOLLOW集的确定

FOLLOW集使用以下三个步骤判定:

(1)如果X 是开始符那么把# 加入到FOLLOW(X)

(2)若A=>αBβ是一个产生式,则把FIRST(β)-{$}加至

FOLLOW(B)中

(3)若A=>αB是一个产生式,或A=>αBβ是一个产生式而

β*=>$(即$∈FIRST(β)),则把FOLLOW(A)加至

FOLLOW(B)中

FOLLOW集的求法与FIRST集类似,但有不同的地方。FOLLOW集需要扫描每一个产生式。而FIRST集扫描的是产生式左部不同的产生式,然后扫描左部相同的产生式的每一个右部。FOLLOW集第一次扫描可以确定哪些FIRST集或FOLLOW集属于所求的FOLLOW集,由于FIRST集已经求出,所以第一次扫描就可以把相应的FIRST集加入到FOLLOW集中,设置FOLLOW集完成标记位,设置队列,把未完成的非终结符送入队列,依次取出队列元素,把求出FOLLOW集的非终结符的FOLLOW集加入到相应的FOLLOW集中,把未求出的送回队列。碰到死循环使用FIRST集一样的方法处理就可以。

SELLECT集的确定

FIRST集&FOLLOW集都已经求出来后SELLECT集就很好

求了,扫描每一个产生式,使用以下三个步骤确定:

A→αA∈VN,α∈V*,

(1)若α是终结符,那么SELLECT(A→α)={α}

(2)若α是$,则SELECT(A→α)=FOLLOW(A)

(3)若α是非终结符那么

若α*=>$,则SELECT(A→α)=(FIRST(α)-$)∪FOLLOW(A)

若α┐*=>$ 则SELECT(A→α)=FIRST(α)

LL(1)文法的判定

当SELLECT集求出来后就可以判断是不是一个文法是不是LL(1)文法了,扫描产生式左部相同的SELLCET集是否含有相同元素,一旦发现相同元素立刻返回FALSE,扫描结束没有发现相同元素则返回TRUE。

句子的判定

当一个文法确定是LL(1)文法时就可以对输入的语句进行判定了。首先要安装SELLECT集生成LL(1)预测分析表,最简单的方法是使用哈希表来表示,把每一个产生式左部依次和这个产生式SELLECT集中的每一个终结符组成关键字,其值即为这个产生式,送入哈希表。这样在进行句子的分析时就可以很容易判断是否使用某一个产生式来进行规约。在实际分析时设置两个栈,把"#"压入分析栈和剩余栈,把开始符压入分析栈,把输入串从右向左送入剩余栈,然后只要两个栈元素个数同时大于1,那么依次从两个栈中取出两个元素进行比较,假如一样就匹配,假如可以规约就规约,否则就不是该文法的句子。

三、概要设计

1、设计原理

(1)、LL(1)文法的定义

LL(1)分析法属于确定的自顶向下分析方法。LL(1)的含义是:第一个L表明自顶向下分析是从左向右扫描输入串,第2个L表明分析过程中将使用最左推导,1表明只需向右看一个符号便可决定如何推导,即选择哪个产生式(规则)进行推导。

LL(1)文法的判别需要依次计算FIRST集、FOLLOW集和SELLECT集,然后判断是否为LL(1)文法,最后再进行句子分析。

需要预测分析器对所给句型进行识别。即在LL(1)分析法中,每当在符号栈的栈顶出现非终极符时,要预测用哪个产生式的右部去替换该非终极符;当出现终结符时,判断其与剩余输入串的第一个字符是否匹配,如果匹配,则继续分析,否则报错。LL(1)分析方法要求文法满足如下条件:对于任一非终极符A的两个不同产生式A→α,A→β,都要满足下面条件:SELECT(A→α)∩SELECT(A→β)=?

(2)、预测分析表构造

LL(1)分析表的作用是对当前非终极符和输入符号确定应该选择用哪个产生式进行推导。它的行对应文法的非终极符,列对应终极符,表中的值有两种:一是产生式的右部的字符串,一是null。若用M表示LL(1)分析表,则M可表示如下:

M: VN×VT→P∪{Error}

M(A, t) = A→α,当t∈select(A→α) ,否则

M(A, t) = Error

其中P表示所有产生式的集合。

(3)、语法分析程序构造

LL(1)分析中X为符号栈栈顶元素,a为输入流当前字符,E 为给定测试数据的开始符号,#为句子括号即输入串的括号。分析表用一个二位数组M表示,数组元素M[A,a]中的下标A表示非终结符,a为终结符或句子括号‘#’,二维数组中存放的是一条关于A 的产生式,表明当非终结符A向下推导时,面临输入符a时,所采用的候选产生式,当元素内容无产生式时,则表明

用A 的左部向下推导时出现了不该出现的符号,因此元素内容转向出错处理的信息。

LL(1)分析过程主要包括以下四个动作:

替换:当X ∈VN 时选相应产生式的右部β去替换X 。此时X 出栈,β逆序入栈。

匹配:当X ∈VT 时它与a 进行匹配,其结果可能成功,也可能失败,如果成功则符号栈中将X 退栈并将输入流指针向前移动一位,否则报错。

接受:当格局为(#,空#)时报告分析成功。

报错:出错后,停止分析。并给出相应的错误提示信息。 驱动程序框图如:

‘#’’E ’进栈,当前终结符号送入a

上托栈顶符号

送入a

A ∈Vt?A=‘#’?

A=‘a ’?

结束

若产生式为

A →A1A2…An,按逆序即[An …A2A1]入栈

M[A,a]是产生式

吗?

出错

A=‘a ’?

读入下一符号

出错

N

Y Y

N

Y

N Y N N Y

2、预测分析表具体构造

此语法程序的实现采用手工操作输入构造LL(1)分析表。LL(1)分析表用一个二维矩阵表示,其中每个非终极符对应一行,每个终级符对应一列,一个非终极符和一个终极符可以确定矩阵中的一个元素,元素的值表示该非终极符和该终极符对应的产生式。每个矩阵元素都是一个字符串,所有元素初始化为null ;构造LL(1)表时,根据给出的测试数据中相应的分析表LL(1)分析表的内容。其中输入产生式为空用&表示,产生式不存在则进行出错处理,在数组中出错用NULL 或者null 表示。在根据LL(1)分析表选择产生式进行推导时,若查到的产生式为NULL 或者null 表示无相应的产生式可选,不匹配错误;否则根据编号得到相应的产生式进行推导。

预测分析表的模型示意图

a. 控制程序是依据分析表和分析栈联合控制输入字符串的识别和分析,它在任何时候都是依据当前分析栈的栈顶符号和当前输入字符来执行控制功能。对不同文法,控制程序是相同的。

b. 输入缓冲器用来存放被分析的符号串,符号串后跟以标志符号#。

c. 栈中存放一系列文法符号,符号#存在于栈的底部,分析开始时,栈底先放好#,然后放进文法开始符号。

d. 分析表是一个二维数组M[A,a],其中A 是非终结符号,a 是终结符号或是符号#,M[A,a]内容为一条关于A 的产生式或出错标志,不同语言使用内容不同的分析表。

i * i + i #

X Y Z #

b c

输出

e 分析表M 预测分析控制程序

a

d

e. 输出流是在分析中不断产生的输出序列。

3、主要算法思想

(1)、分析开始时,首先将标志符号#和文法开始符号E 依次压入符号栈;输入流指针指向分析串的第一个输入符号,即由符号栈和输入流构成的初始格局为:

(#E, a1a2...an#)

然后,反复执行第2步所列的工作。

(2)、设在分析的某一步,符号栈及剩余的输入流处于如下的格局:

(#A12...Am-1Am, aiai+1...an#)

其中,A1A2...Am-1Am为分析栈中的文法符号,此时,可视栈顶符号Xm的不同情况,分别作如下动作:

若Am∈VN,则以Am及ai组成的符号对(Am,ai)查分析表M。设M(Am,ai)为一产生式,假设是Am UVW,此时将Am 从分析栈中弹出,并将UVW逆序压入栈中,从而得到新的格局:(#A1A2...Am-1WVU, aiai+1...an#)

但若T(Am,ai)=NULL或null,则调用出错处理程序进行处理;

若Am=ai≠#,则表明栈顶符号已经与当前扫描的输入符号得到匹配,此时应将Am(即ai)从栈中退出,并将输入流指针向前移动一个位置。

若Xm=ai=#,则表明输入串已经完全得到匹配,此时即可宣告分析成功而结束分析。

其它情形,转到错误处理程序。

四、详细设计

1.总体思路分析及流程图

给定一个正规文法G,在LL(1)预测分析中,必须先求出First 集和Follow集,然后求出Select集,通过Select集判断是否是LL1文法,如果是的话,构造预测分析表。求出预测分析表之后,

再输入一个字符串,依据LL1分析表单步输出字符串的分析过程。

读取正规文法

求文法的First集求文法的Follow集

求文法的Select集

字符串分析

键盘输入字符串

功能模块分解图

(1)主程序流程图

开始

输入文法

构造预测分析

提示i*i+i#为可接受的字符

判断文法是否为LL(1)文法

输入要分析的符号串

Y 出错处理

N

判断该符号串是否可被

该文法识别

出错处理结束

Y N

(2)核心算法流程图

1.计算非终结符的First 集的算法及流程: First 集合的构造算法:

(1)若X ∈VT ,则First (X )={X}。

(2)若X ∈VN ,且有产生式X→a……,则把a 加入到First (X)中;若X→ε也是一条产生式,则把ε也加到First (X)中。

(3)若X→Y……是一个产生式且Y ∈VN ,则把First (Y)中的所有非ε-元素都加到First (X)中;若X→Y1Y2…Yk 是一个

产生式,Y1,…,Yi-1都是非终结符,而且,对于任何j ,1≤j≤i -1,First (Yj)都含有ε(即Y1…Yi -1* ε),则把First (Yj)中的所有非ε-元素都加到First (X)中;特别是,若所有的First (Yj)均含有ε,j=1,2,…,k ,则把ε加到First (X)中。

连续使用上面的规则,直至每个集合First 不再增大为止。

开始

读取一个非终

结符V

遍历所有产生式,查找左部是V 的产生式

取出得到的一条产生式

产生式右部第一个符号V*是终结符?

V*是不是有推导规

则V*->空将该终结符V*加入V 的First 集

空标志为真

剩有非终结符?

删除空,得到V 的First 集

结束

添加一个删除空的标志为

true

2.计算非终结符的Follow 集:

Follow 集合的具体构造算法如下:

(1)对于文法的开始符号S ,置#于Follow(S)中; (2)若A→αBβ是一个产生式,则把First (β)|{ε}加至Follow(B)中;

(3)若A→αB 是一个产生式,或A→αBβ是一个产生式而β ε(即ε∈First (β)),则把Follow(A)加至Follow(B)中。

连续使用上面的规则,直至每个集合Follow 不再增大为止。

开始

取得一个非终结符

V

查找产生式的右部含有V 的产生式

V 是不是最后一个字符

V 后一个字符V*是否为终结符

添加#到V 的Follow

集中

添加V*到V 的Follow 中

是否遍历完所有右部含有V 的产生式

是否有未求解过的

非终结符

将V*的First 集加入到V 的

Follow 集中

完成

Y

Y

Y

N

Y

N

Y

N

3.预测分析控制程序的算法流程

‘#’’E ’进栈,当前终结符号送入a

显示分析步骤A ∈Vt?A=‘#’?产生式不存在?

若产生式为

A →A1A2…An,按逆序即[An …A2A1]入栈

产生式右部为空?出错

A=‘a ’?

读入下一符号

出错

N

Y Y

N

N Y

Y Y

N

输入要分析的字符串

判断字符串是否

正确

Y

N 显示栈中内容

显示剩余输入

显示产生式N Y

匹配字符串?

接受

N

Y

2、测试数据i*i+i 的语法树

2.关键代码

(1)计算非终结符的First集:

void first(edge ni,edge *n,int x)//ni为一个产生式,n为整个文法

{ int i,j;

for(j=0;j

{ if(ni.getlf()==n[j].getlf())

{

if(NODE.find(n[j].getro())

{ for(i=0;i

if(n[i].getlf()==n[j].getro())

first(n[i],n,x);

}

else n[x].newfirst(n[j].getro());//终结符的情况

}

}

}

(2)计算非终结符的Follow集:

void follow(edge ni,edge *n,int x) //计算follow

{ int i,j,k,s;

string str;

for(i=0;i

{ s=NODE.find(ni.getrg()[i]);

if(s-1) //是非终结符

if(i

for(j=0;j

if(n[j].getlf().find(ni.getrg()[i])==0)

{

if(NODE.find(ni.getrg()[i+1])

{ for(k=0;k

if(n[k].getlf().find(ni.getrg()[i+1])==0)

{

n[j].newfollow(n[k].getfirst());

if(n[k].getfirst().find("*")

}

}

else

{str.erase();

str+=ni.getrg()[i+1];

n[j].newfollow(str);

}

}

}

}

(3)输出预测分析表的主要代码:

void outgraph(edge *n,string (*yc)[50])

{ int i,j,k;

bool flag;

for(i=0;i

{ if(ENODE[i]!='*')

{ outfu(10," ");

cout<

}

}outfu(10," ");

cout<<"#"<

int x;

for(i=0;i

{ outfu(4," ");

cout<

outfu(5," ");

for(k=0;k

{ flag=1;

for(j=0;j

{ if(NODE[i]==n[j].getlf()[0])

{ x=n[j].getselect().find(ENODE[k]);

if(x-1)

{ cout<<"->"<

yc[i][k]=n[j].getrg();

outfu(9-n[j].getrlen()," ");

flag=0;//

}

x=n[j].getselect().find('#');

if(k==ENODE.length()-1&&x-1)

{ cout<<"->"<

yc[i][j]=n[j].getrg();

}

}

}

if(flag&&ENODE[k]!='*')

outfu(11," ");

}

cout<

}

}

3.函数说明

(1)void showStack(String st)显示分析栈中的内容,函数中定义了字符串数组来存放分析栈中的内容,栈中内容

随着栈顶的弹出及栈顶替换、匹配发生改变变。

(2)boolean findString(String str,String array[]) 查找函数,用来判断输入的字符串是否有误,其中当前输入字符串

为String 类型的str, String array[]中存放的是各个终结

符,返回布尔值

(3)int location(String str,String array[]) 定位函数,指出字符串所在位置以便查找预测分析表,其中String str代表

当前输入的字符,String array[]存放了出现在预测分析表

中横向与纵向的字符即Vn或者Vt,当str等于array[i]

时,返回i 值,否则报错。

(4)void error()出错处理函数,当输入的字符串不是该预测分析表所能得到的句子时,调用此函数显示输入串不

可接受。

股票模拟交易报告

股票模拟交易报告 一、小组分工及内容 二、模拟交易内容与步骤 1.交易明细 2.鹿港文化[601599]公司概况 (1)基本资料 (2)公司简介 公司是由江苏鹿港毛纺集团有限公司整体变更设立的股份有限公司。江苏鹿港毛纺集团有限公司股东会于2008年5月9日作出决议将其整体变更为股份有

限公司。公司于2008年5月30日在江苏省苏州工商行政管理局正式办理工商登记变更手续,并领取了注册号为320582000054425的企业法人营业执照。为明确公司未来发展方向,经公司第三届董事会第二十二次会议和2015年年度股东大会审议,通过了《关于公司变更名称及增加营业范围的议案》,公司的名称由“江苏鹿港科技股份有限公司”变更为“江苏鹿港文化股份有限公司”。2016年6月2日,公司完成了工商变更登记手续,并取得由苏州市工商行政管理局换发的《营业执照》。公司名称正式变更为“江苏鹿港文化股份有限公司”。综上所述,基于公司整体战略发展要求,公司的名称由“江苏鹿港科技股份有限公司”变更为“江苏鹿港文化股份有限公司”,公司证券简称自2016年6月15日起由“鹿港科技”变更为“鹿港文化”。 (3)经营范围 广播电视节目制作;电影放映;租赁摄影器材、服装;企业策划;会议及展览服务;摄影服务;设计、制作、代理、发布广告;文化艺术培训;全毛、化纤、各类混纺纱线、毛条、高仿真化纤、差别化纤维和特种天然纤维纱线及织物、特种纺织品、服装、防静电服的研发、制造、加工、销售;自营和代理各类商品和技术的进出品;纺织原料、针纺织品、服装、服饰、防静电服、五金、钢材、建材的购销。(依法须经批准的项目,经相关部门批准后方可开展经营活动)(4)发行相关 3.模拟交易报告分析 (1)个股资金流向

编译原理课程设计

《编译原理》课程设计大纲 课程编号: 课程名称:编译原理/Compiler Principles 周数/学分:1周/1学分 先修课程:高级程序设计语言、汇编语言、离散数学、数据结构 适用专业:计算机科学与技术专业、软件工程专业 开课学院,系或教研室:计算机科学与技术学院 一、课程设计的目的 课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,设计题中的问题比平时的练习题要复杂,也更接近实际。编译原理这门课程安排的课程设计的目的是旨在要求学生进一步巩固课堂上所学的理论知识,深化理解和灵活掌握教学内容,选择合适的数据逻辑结构表示问题,然后编制算法和程序完成设计要求,从而进一步培养学生独立思考问题、分析问题、解决实际问题的动手能力。 要求学生在上机前应认真做好各种准备工作,熟悉机器的操作系统和语言的集成环境,独立完成算法编制和程序代码的编写。 设计时间: 开发工具: (1) DOS环境下使用Turbo C; (2) Windows环境下使用Visual C++ 。 (3) 其它熟悉语言。 二、课程设计的内容和要求 设计题一:算术表达式的语法分析及语义分析程序设计。 1.目的

通过设计、编制、调试一个算术表达式的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词 法检查和分析。 2.设计内容及要求: 算术表达式的文法: 〈无符号整数〉∷= 〈数字〉{〈数字〉} 〈标志符〉∷= 〈字母〉{〈字母〉|〈数字〉} 〈表达式〉∷= [+|-]〈项〉{〈加法运算符〉〈项〉} 〈项〉∷= 〈因子〉{〈乘法运算符〉〈因子〉} 〈因子〉∷= 〈标志符〉|〈无符号整数〉|‘(’〈表达式〉‘)’ 〈加法运算符〉∷= +|- 〈乘法运算符〉∷= *|/ (1) 分别选择递归下降法、算符优先分析法(或简单优 先法)完成以上任务,中间代码选用逆波兰式。 (2) 分别选择LL(1)、LR法完成以上任务,中间代码选 用四元式。 (3) 写出算术表达式的符合分析方法要求的文法,给出 分析方法的思想,完成分析程序设计。 (4) 编制好分析程序后,设计若干用例,上机测试并通 过所设计的分析程序。 设计题二:简单计算器的设计 1.目的 通过设计、编制、调试一个简单计算器程序,加深对语法及语 义分析原理的理解,并实现词法分析程序对单词序列的词法检 查和分析。 2.设计内容及要求 算术表达式的文法:

空调房间气流组织数值模拟和优化课程

毕业设计说明书 作者:学号: 学院: 系(专业):热能与动力工程 题目:空调房间气流组织数值模拟和优化指导者:讲师 (姓名) (专业技术职务) 评阅者: (姓名) (专业技术职务) 2012 年 6 月2 日 毕业设计(论文)中文摘要

毕业设计(论文)外文摘要 Title Numerical simulation of air-conditioned room air distribution and optimization Abstract Airflow-organizing in air-conditioned indoor air environment, air quality has an important effect is directly related to the indoor temperature, area, flow rate and air-conditioning energy consumption is an important part of the air-conditioned. Effective ventilation and airflow organization has an important significance for improving indoor air quality, to ensure the realization of healthy buildings, healthy comfort air conditioning. The main factors to affect the flow in room inlet velocity, the location of the air inlet into the return air relative position Firstly, the establishment of a physical model and mesh using Gambit software, and numerical simulations using Fluent software, said in an intuitive way the temperature field and velocity field of airflow under different air distribution program, analyzing the draw for office and other similar air-conditioned room, Side of the send side back, on sending the next time, on to send back, next to send back to the four air distribution are more appropriate. But the better Side of the send side back and on to send back on the air current forms of organization. Keywords:Airflow-organizing;Numerical simulation; Turbulence model;Temperature field;Velocity field.

国际金融模拟实训报告

武汉工业学院工商学院 经济与管理系实训课报告 实训项目国际金融模拟实训 姓名张智卿 学号 专业年级国际经济与贸易0802班 指导教师孙睦优 职称教授 2010年05月10日 实训报告 课程:国际金融院系:经济与管理系专业:国际经济与贸易 姓名:张智卿班级:国贸2班学号: 实训日期:至实训项目:国际金融模拟实训 一、实训目的和任务: 1、国际金融模拟实训课时__24__,学分___1__。 2、通过国际金融模拟实训,实际感受外汇投资如何获利及外汇投资的风险; 3、为今后的职业生涯提供多种就业机会,可选择与外汇交易相关的职业,如经纪人、市 场分析、会计、计算机等。在从事其中任何一项与外汇交易相关的工作之前,必须认识和了解外汇交易,有了本实训的模拟演练,将会以最短的时间进入实际工作状态; 4、学会如何进行外汇交易能帮助提高在其它投资领域的素质能力。 二、实训内容、步骤与基本要求 实训一注册用户,熟悉系统(2学时)

基本要求:了解智盛模拟系统及卫星过程中信息的传递,设置初始帐户、资金、密码,熟悉基本操作要求。 主要内容:注册用户名,熟悉外汇交易系统的主要功能。 实训时间:2010年5月10日 实训二常用八种外汇基本面趋势分析(2学时) 基本要求:通过对外汇的基本面进行综合分析后,选择适合投资的外汇币种. 主要内容:查阅金融界网站等相关外汇网站,及招行外汇通界面分析外汇的基本面信息及最近走势,选择投资品种。 实训时间:2010年5月14日 实训三外汇技术和行情分析系统(4学时) 基本要求:通过对外汇的行情进行认真分析研判后,明确买卖时机,同时注意进行仓位内外汇的相关性、掌握组合投资方法。 主要内容:到模拟系统交易界面,通过K线图、MACD、KDJ、BSI等相关指标组合分析,研判,最终确定买卖时机,进行有效、组合的投资。 实训时间:2010年5月17日、21日 实训四外汇实盘交易实训(6学时) 基本要求:在智盛模拟系统进行外汇实盘交易,了解八种基本外汇的基本面及其走势,通过具体的交易操作,进一步了解货币价格波动特性。 主要内容:使用系统分配的30万美元分别购买外汇,通过对即时走势的分析,作两种投资策略:快进快出的超短线交易策略及中线策略。 实训时间:2010年5月24日、28日、31日 实训五外汇虚盘交易实训(6学时) 基本要求:在模拟系统进行外汇虚盘交易,了解实盘与虚盘的特性区别,虚盘操作要领。 主要内容:进入系统中的外汇虚盘中,通过对英磅、日元、德国马克这三种主要货币合约建立开仓,对冲,观察货币走势,学习使用杠杆操作规律。

编译原理课程设计报告_LL(1)分析过程模拟

课程设计(论文)任务书 软件学院学院软件工程专业07-1班 一、课程设计(论文)题目LL(1)分析过程模拟 二、课程设计(论文)工作自 2010 年 6 月 22日起至 2010 年 6月 28 日止。 三、课程设计(论文) 地点: 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握LL(1)模块的基本工作原理; (2)培养学生基本掌握LL(1)分析的基本思路和方法; (3)使学生掌握LL(1)的调试; (4)培养学生分析、解决问题的能力; (5)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)基本要求: (1)分析LL(1)模块的工作原理; (2)提出程序的设计方案; (3)对所设计程序进行调试。 2)创新要求: 在基本要求达到后,可进行创新设计,如改算法效率。 3)课程设计论文编写要求 (1)要按照书稿的规格打印誊写课程设计论文 (2)论文包括目录、绪论、正文、小结、参考文献、附录等 (3)课程设计论文装订按学校的统一要求完成 4)答辩与评分标准: (1)完成原理分析:20分; (2)完成设计过程(含翻译):40分; (3)完成调试:20分;

(4)回答问题:20分。 5)参考文献: (1)张素琴,吕映芝,蒋维杜,戴桂兰.编译原理(第2版).清华大学出版社 (2)丁振凡.《Java语言实用教程》北京邮电大学出版社 6)课程设计进度安排 内容天数地点 构思及收集资料2图书馆 编程与调试4实验室 撰写论文1图书馆、实验室 学生签名: 2009 年6 月22 日 课程设计(论文)评审意见 (1)完成原理分析(20分):优()、良()、中()、一般()、差();(2)设计分析(20分):优()、良()、中()、一般()、差();(3)完成调试(20分):优()、良()、中()、一般()、差();(4)翻译能力(20分):优()、良()、中()、一般()、差();(5)回答问题(20分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是()、否() 评阅人:职称: 年月日

编译原理课程设计

编译原理课程设计报告 课题名称: C-语言编译器设计(scanner和parser) 提交文档学生姓名: 提交文档学生学号: 同组成员名单:无 指导教师姓名:金军 指导教师评阅成绩: 指导教师评阅意见: . . 提交报告时间: 2011年 6 月 17 日

1.课程设计目标 设计C-Minus编译器分为scanner和parser两个部分。scanner主要作用是对目标代码进行扫描,列出关键字,变量等内容;parser主要对语法进行分析并生成语法树。 2.分析与设计 ●实现方法:代码用C语言编译而成。其中scanner为手工实现,主要采用switch-case结构实现 状态转换;parser部分采用递归下降分析方法实现。 ●扫描器:C-的词法如下: 1、语言的关键字:i f el se i nt return void while 2、专用符号:+ - * /< <= > >= == != =; , ( ) [ ] { } /* */ 3、其他标记是变量(ID)和数字(NUM),通过下列正则表达式定义: ID = letter letter* NUM = di git digi t* letter = a|..|z|A|..|Z digi t = 0|..|9 4、空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开ID、NUM关键字 5. 注释用通常的C语言符号/ * . . . * /围起来。注释可以放在任何空白出现的位置(即注释不能放在 标记内)上,且可以超过一行。注释不能嵌套 其DFA图如下:

分析器:以下为C-的语法规则BNF:

室内气流组织数值模拟与舒适度分析

室内气流组织数值模拟与舒适度分析 摘要:分别对采用百叶侧送侧回、喷口侧送侧回、散流器顶送下回、分层空调、置换通风方式的室内空调室内气流的速度场和温度场进行了数值模拟,并对其结 果进行了实验验证。根据ADPI指标对这几种送回风方式进行了热舒适性评价。 结果表明,分层空调和置换通风是室内中较好的气流组织方式。 关键词:室内;气流组织;速度场;温度场;数值模拟;热舒适 引言 传统空调系统的气流组织是以送风射流为基础的,通过反复迭代检查温度和 速度。最后,找到合理的回风方案和参数。空调房间内的供气射流大多是多个非 等温湍流射流,一般设计方法是基于单股等温紊流射流的规律,射流约束修正系数、射流重合度和非等温射流的修正系数。介绍。这种方法忽略了很多其他因素,如排风口的尺寸和位置、热源的性质和位置等,因此必然有一定的误差,在某些 情况下甚至有很大的误差。若简单地将这种方法用于空间空调系统的气流组织设计,是不合适的。 空间空调系统的气流设计没有成熟的理论和实验结论。主要研究方法是将气 流的数值分析与模型相结合。由于气流的数值分析涉及到各种可能的内部扰动、 边界条件和初始条件,所以可以完全反映房间内的气流分布,从而确定气流的最 佳方案。 1室内空气流动的有限元数值模拟 机械通风房间内的空气流动多属于非稳态湍流流动,直接模拟尚不现实。在 解决实际问题时,需要对物理模型进行一定的假设和简化处理。笔者作了以下假设: 1)室内空气为低速不可压缩气体,且符合 Boussinesq 假设; 2)室内空气流动为准稳态湍流流动; 3)忽略能量方程中粘性效应引起的能量耗散。 2各种送风方式下大空间室内气流组织数值模拟 2.1研宄对象 本文的研宄对象为有内热源、尺寸为12 mX &4 mX5.0 m(长X宽X高)的长 方体建筑模型(如图1所示),风口设在外墙侧。人员和设备由于不断放出热量,对室内气流分布特性有重要影响,将其视作内热源处理。内热源模型为0.4 mX 1.2 mX 1.3 m(长X宽X高)的长方体。在内热源模型内部不求解控制方程,把它的内表面视作速度为0的壁面。考虑模型的对称性,取一个空调送风单元(3 mX 4.2 mX 5.0 m)进行模拟计算分析。本文主要讨论0.1 m和1.1m高度的情况,这 两个平面之间的区域可以代表工作区。 2.2边界条件的处理 室内温度设定为(26±2)°C,内墙的温度设定为26°C,外墙为26.5屋顶为26°C。人体和设备的发热功率之和为600 W。本文应用有限元的非统一网格,在 人体和设备周围、外墙附近及风口附近对网格进行加密,在壁面附近采用壁面函 数法。非线性方程组由FIDAP(流体力学有限元软件包)的求解器通过迭代求解。 2.3常用送回风方式下室内气流组织模拟及气流分布特性评价

空调房间室内气流组织模拟(fluent)

模型[1] m s,送风温如图,房间左下角有一个空调,送风和回风方向如图所示。送风速度为1/ 度为25℃,壁面温度为30℃。 1.建立模型及网格划分 ①建立模型及网格划分的步骤在此处暂时省略,以后后机会再补上,这里直接读入网格文件hvac-room.msh。 ②读入网格后应检查网格及网格尺寸,通过Mesh下的Check和Scale进行实现,这里不做详细描述。 2.求解模型的设定 ①启动FLUENT。启动设置如图,这里着重说说Double Precision(双精度)复选框,对于大多数情况,单精度求解器已能很好的满足精度要求,且计算量小,这里我们选择单精度。然而对于以下一些特定的问题,使用双精度求解器可能更有利。 [1] 李鹏飞,徐敏义,王飞飞.精通CFD工程仿真与案例实战:FLUENT GAMBIT ICEM CFD Tecplot[M]. 北京,人民邮电出版社,2011:312-317

a.几何特征包含某些极端的尺度(如非常长且窄的管道),单精度求解器可能不能足够精确地表达各尺度方向的节点信息。 b.如果几何模型包含多个通过小直径管道相互连接的体,而某一个区域的压力特别大(因为用户只能设定一个总体的参考压力位置),此时,双精度求解器可能更能体现压差带来的流动。 c.对于某些高导热系数比或高宽纵比的网格,使用单精度求解器可能会遇到收敛性不佳或精确度不足不足的问题,此时,使用双精度求解器可能会有所帮助。 ②求解器设置。这里保持默认的求解参数,即基于压力的求解器定常求解。如图: 下面说一说Pressure-based和Density-based的区别:

a.Pressure-Based Solver是Fluent的优势,它是基于压力法的求解器,使用的是压力 修正算法,求解的控制方程是标量形式的,擅长求解不可压缩流动,对于可压流动 也可以求解;Fluent 6.3以前的版本求解器,只有Segregated Solver和Coupled Solver,其实也Pressure-Based Solver的两种处理方法; b.Density-Based Solver是Fluent 6.3新发展出来的,它是基于密度法的求解器,求解 的控制方程是矢量形式的,主要离散格式有Roe,AUSM+,该方法的初衷是让Fluent 具有比较好的求解可压缩流动能力,但目前格式没有添加任何限制器,因此还不太 完善;它只有Coupled的算法;对于低速问题,他们是使用Preconditioning方法来 处理,使之也能够计算低速问题。Density-Based Solver下肯定是没有SIMPLEC, PISO这些选项的,因为这些都是压力修正算法,不会在这种类型的求解器中出现 的;一般还是使用Pressure-Based Solver解决问题。 基于压力的求解器适用于求解不可压缩和中等程度的可压缩流体的流动问题。而基于密度的求解器最初用于高速可压缩流动问题的求解。虽然目前两种求解器都适用于各类流动问题的求解(从不可压缩流动到高度可压缩流动),但对于高速可压缩流动而言,使用基于密度的求解器通常能获得比基于压力的求解器更为精确的结果。 -湍流模型,Define/Models/Viscous。 ③流动模型设置。这里使用的是kε -模型,这种模型应用较多,计算量适中, a.这里我们使用的湍流模型是Standard kε 有较多数据积累和比较高的精度,对于曲率较大和压力梯度较强等复杂流动模拟效 果欠佳。一般工程计算都使用该模型,其收敛性和计算精度能满足一般的工程计算 要求,但模拟旋流和绕流时有缺陷。 b.壁面函数的选择,我们这里选择的是,标准壁面函数法。其应用较多,计算量小, 有较高的精度。适合高雷诺数流动,对低雷诺数流动问题,有压力梯度、高度蒸腾 和大的体积力、低雷诺数和高速三维流动问题不适合。

模拟证券投资分析报告

模拟证券投资分析报告

一、2012年上证综指的预测与分析 从主流研究机构2012年A股投资策略报告中可以看出,绝大多数券商看多明年市场,预测上证综指波动区间基本在2200点-3000点。如此看来,2012年A股或将迎来一轮小牛市。券商普遍认为,相比今年更为宽松的货币环境,是大级别反弹行情出现的必要条件。在中央经济工作会议精神指导下,2012年国内经济将摆脱增速加速衰退的滞涨周期,转而进入低通胀低增长时期,社会流动性将加以改善,企业盈利将得以恢复。经济的拐点、通胀的拐点、流动性的拐点、业绩的拐点、估值的拐点、市场的拐点齐聚2012年,进而影响股市,预计大盘将再经历一个触底、企稳、筑底、反弹、整理的过程。 【大盘走向】

关于2012年A股策略,申万研究认为,2012年的谋略:看清确定的东西、关注重要的变化。确定一:流动性环境改善,风险回报率下行,大类资产配置利好股市。2011年,地产商信托融资、银行表外转表内、银行高息揽存均推高社会融资成本;2012年,这些情况均有所改善,大类资产配置角度,股市的吸引力有所加强。确定二:全年经济大概率低于今年。重要的变化:上中下游景气变动的不同步使经济、盈利、通胀和政策存在较大变数。当前,出口、房地产以及相关的产业链开始下滑,但中游的库存和产能偏低。这样,政策小修小补无法抵挡经济下滑态势,而一旦政策出现较大松动(信贷大放、房地产明紧暗松),经济和盈利会迅速回升,通胀的约束可能再现。政策较大松动成为最大的变数。鉴于此,2012年全年上证综指核心波动区间(2200,3000)。当前A股的估值为11.4倍,2012年的A股估值中枢有望上行至12倍,-15%的2012盈利增速对应2193点,15%的2012盈利增速对应2967点。 2012的战法:把握各阶段股市交易的焦点,等待周期和成长共振的机会。在中长期经济预期无法改善的情况下,“周期做Alpha、成长做Beta”成为主流的投资模式。周期股的机会来自政策放松,幅度与放松程度息息相关;成长股(特别是新兴成长股)需要市场的情绪配合。弱势下,政策放松--周期搭台--稳定情绪--成长唱戏成为标准的战法,2011年下半年就有过两次,但级别太小。相信2012年会有一次较大级别的行情,一方面政策放松的程度更大(2011年6月和10月分别是政策放松预期和小修小补),另一方面临近换届,转型预期再起。在政策拐点和换届起点的叠加下,股市有望演绎周期股和成长股共振的大行情,这将是近几年最佳的投资时机。从现在开始,股市可能演绎四段行情:第一阶段:蜜月行情——政策预调微调,市场超跌反弹,周期与主题活跃;第二阶段:蜜月后的冷淡——政策微调基调不变,对经济担忧加剧,反弹后再次回落;第三阶段:共振行情——政策放松力度加大,周期和成长共振,市场指数大幅提升;第四阶段:约束再次出现——通胀和房价抬头约束政策放松力度。 2012年的兵计:保存实力, 伺机而动。2012年一季度,对经济的担忧或将终结蜜月行情,此时在投资上应保存实力,在行业配置上,应关注景气仍能逆周期回升的行业:电力设备(尤其是输变电设备和核电)、医药、消费型投资设备;待政策出现较大松动后,应把握周期和成长共振的机会,届时建议配置房地产、重卡、工程机械、化工和与转型相关的成长股。

编译原理课程设计报告(一个完整的编译器)

编译原理程序设计报告 一个简单文法的编译器的设计与实现专业班级:计算机1406班 组长姓名:宋世波 组长学号: 20143753 指导教师:肖桐 2016年12月

设计分工 组长学号及姓名:宋世波20143753 分工:文法及数据结构设计 词法分析 语法分析(LL1) 基于DAG的中间代码优化 部分目标代码生成 组员1学号及姓名:黄润华20143740 分工:中间代码生成(LR0) 部分目标代码生成 组员2学号及姓名:孙何奇20143754 分工:符号表组织 部分目标代码生成

摘要 编译器是将便于人编写,阅读,维护的高级计算机语言翻译为计算机能解读、运行的低阶机器语言的程序。编译是从源代码(通常为高阶语言)到能直接被计算机或虚拟机执行的目标代码(通常为低阶语言或机器语言)的翻译过程。 一.编译器的概述 1.编译器的概念 编译器是将便于人编写,阅读,维护的高级计算机语言翻译为计算机能解读、运行的低阶机器语言的程序。编译器将原始程序作为输入,翻译产生使用目标语言的等价程序。源代码一般为高阶语言如Pascal、C++、Java 等,而目标语言则是汇编语言或目标机器的目标代码,有时也称作机器代码。 2.编译器的种类 编译器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,这种编译器又叫做“本地”编译器。另外,编译器也可以生成用来在其它平台上运行的目标代码,这种编译器又叫做交叉编译器。交叉编译器在生成新的硬件平台时非常有用。“源码到源码编译器”是指用一种高阶语言作为输入,输出也是高阶语言的编译器。例如: 自动并行化编译器经常采用一种高阶语言作为输入,转换其中的代码,并用并行代码注释对它进行注释(如OpenMP)或者用语

CMinus词法分析和语法分析设计编译器编译原理课程设计报告书

编译原理课程设计报告 课题名称:C- Minus词法分析和语法分析设计 提交文档学生姓名:X X X 提交文档学生学号:XXXXXXXXXX 同组成员名单:X X X 指导教师姓名:X X 指导教师评阅成绩: 指导教师评阅意见: . . 提交报告时间:2015年6月10日

1.课程设计目标 实验建立C-编译器。只含有扫描程序(scanner)和语法分析(parser)部分。 2.分析与设计 C-编译器设计的整体框架,本实验实现扫描处理和语法分析程序(图中粗黑部分)。 2.1 、扫描程序scanner部分 2.1.1系统设计思想 设计思想:根据DFA图用switch-case结构实现状态转换。 惯用词法:

①语言的关键字:else if int return void while ②专用符号:+ - * / < <= > >= == != = ; , ( ) [ ] { } /* */ ③其他标记是ID和NUM,通过下列正则表达式定义: ID = letter letter* NUM = digit digit* letter = a|..|z|A|..|Z digit = 0|..|9 大写和小写字母是有区别的 ④空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开ID、NUM 关键字。 ⑤注释用通常的C语言符号/ * . . . * /围起来。注释可以放在任何空白出现的位置(即注释不能放在标记内)上,且可以超过一行。注释不能嵌套 scanner的DFA

说明:当输入的字符使DFA到达接受状态的时候,则可以确定一个单词了。初始状态设置为START,当需要得到下一个token时,取得次token的第一个字符,并且按照DFA与对此字符的类型分析,转换状态。重复此步骤,直到DONE为止,输出token类型。当字符为“/”时,状态转换为SLAH再判断下一个字符,如果为“*”则继续转到INCOMMENT,最后以“*”时转到ENDCOMMENT状态,表明是注释,如果其他的则是字符停滞于当前字符,并且输出“/”。 2.1.2程序流程图

深圳机场旅客卫星厅空调气流组织的CFD模拟分析

152 0 1 9 年 6 月 第2期(第38卷总147期) []摘要 民用机场航站楼空间高大、部分空间上下连通,对室内环境的舒适度要求高;本文通过CFD在深圳机场旅客卫星厅空调气流组织中的模拟研究,分析得出冷气下沉以及室外停机坪对航站楼二次辐射的不利因素是导致室内空间冷量不足的主要原因,该模拟分析结果对航站楼的优化设计具有重要的指导意义。 []关键词 高大空间;计算流体力学;分层空调;冷气下沉;停机坪二次辐射 [][] 中图分类号 TU831 文献标志码A doi :10.3969/J .ISSN. 1005-9180.2019.02.004 何 花 (广东省建筑设计研究院,广州 510370) 深圳机场旅客卫星厅空调气流组织的CFD 模拟分析 收稿日期:2019-4-8 作者简介:何花(1970-),女,学士,教授级高级工程师,主要从事暖通空调设计,E -mail :465929976@qq .com ;广东省建筑设计研究院Abstract :Civil airport terminal has a large space with upper and lower parts connected, which requires a high comfort level of indoor environment. By the CFD simulation of air distribution in air-conditioning in the Satellite Hall of Shenzhen airport, this article concludes that the main reasons for unsufficient cooling of indoor space are the disadvantages of the sink of cold air and the secondary radiation on the terminal from the outdoor apron. The CFD simulation results have significant guidance in the optimal design of the terminal. Keywords : Large Space ;CFD ;Delaminated Air-Conditioning ;Sink of Cold Air ;Secondary Radiation from the Outdoor Apron. CFD Simulation of The Air Distribution in the Satellite Hall of Shenzhen Airport HE Hua (The Architectural Design & Research Institute of Guangdong Province , Guangzhou 510370) 0 引言 民用机场航站楼属于公共交通建筑,具有空 间高大、上下垂直连通情况复杂、人员密度高、 停留时间长、舒适度要求高等特点,如何设计合 理的空调气流组织、营造舒适的室内热环境,成 为暖通空调专业首要的技术重点。目前多采用计 算流体力学(CFD)来解决高大空间的空调气流组织、热环境问题。1 工程概况深圳机场旅客卫星厅工程总建筑面积约23.5万平方米,建筑最高点高度为27.65m,地上4层,地下1层。地下1层主要为行李机房、捷运站台及设备管沟;首层主要为远机位候机厅、办 文章编号:ISSN1005 - 9180 (2019) 02 - 0015 - 05

飞行模拟器项目投资分析报告

飞行模拟器项目投资分析报告 xxx科技发展公司

摘要 目前国内飞行模拟器行业发展潜力较大,这样的整体环境既给企业提 供了较大机遇,同时也提出了更高的要求。预计到2025年我国飞行模拟器 市场规模将达到39.29亿元,其中高端飞行模拟器市场规模将增长至37.8 亿元,需求量在42台左右,产品销售均价为9000万元/台;中低端产品市 场规模将达到1.49亿元,需求数量在135台左右,产品均价为110万元/台。 报告依据国家产业发展政策和有关部门的行业发展规划以及项目承办 单位的实际情况,按照项目的建设要求,对项目的实施在技术、经济、社 会和环境保护、安全生产等领域的科学性、合理性和可行性进行研究论证;本报告通过对项目进行技术化和经济化比较和分析,阐述投资项目的市场 必要性、技术可行性与经济合理性。 该飞行模拟器项目计划总投资13064.23万元,其中:固定资产投资10541.55万元,占项目总投资的80.69%;流动资金2522.68万元,占项目 总投资的19.31%。 达产年营业收入24410.00万元,总成本费用19352.95万元,税金及 附加232.15万元,利润总额5057.05万元,利税总额5986.72万元,税后 净利润3792.79万元,达产年纳税总额2193.93万元;达产年投资利润率38.71%,投资利税率45.83%,投资回报率29.03%,全部投资回收期4.94年,提供就业职位455个。

项目基本信息、项目建设背景分析、市场研究分析、产品规划、项目选址说明、项目建设设计方案、工艺分析、环境保护、清洁生产、项目职业保护、项目风险、节能概况、项目实施进度计划、投资可行性分析、经济效益、总结评价等。

(重庆理工大学计算机学院)编译原理课程设计报告

编译原理课程设计报告 实验名称编译原理课程设计 班级 学号 姓名 指导教师 实验成绩 2013 年06月

一、实验目的 通过设计、编写和调试,将正规式转换为不确定的有穷自动机,再将不确定的有穷自动机转换为与之等价的确定的有穷自动机,最后再将确定有穷自动机进行简化。 通过设计、编写和调试构造LR(0)项目集规范簇和LR分析表、对给定的符号串进行LR分析的程序,了解构造LR(0)分析表的步骤,对文法的要求,能够从文法G出发生成LR(0)分析表,并对给定的符号串进行分析。 二、实验内容 正规式——>NFA——>DFA——>MFA 1.正规式转化为不确定的有穷自动机 (1)目的与要求 通过设计、编写和调试将正规式转换为不确定的有穷自动机的程序,使学生了解Thompson算法,掌握转换过程中的相关概念和方法,NFA的表现形式可以是表格或图形。 (2)问题描述 任意给定一个正规式r(包括连接、或、闭包运算),根据Thompson算法设计一个程序,生成与该正规式等价的NFA N。 (3)算法描述 对于Σ上的每个正规式R,可以构造一个Σ上的NFA M,使得L(M)=L(R)。 步骤1:首先构造基本符号的有穷自动机。 步骤2:其次构造连接、或和闭包运算的有穷自动机。

(4)基本要求 算法实现的基本要求是: (1) 输入一个正规式r; (2) 输出与正规式r等价的NFA。(5)测试数据 输入正规式:(a|b)*(aa|bb)(a|b)* 得到与之等价的NFA N

(6)输出结果 2.不确定的有穷自动机的确定化 (1)目的与要求 通过设计、编写和调试将不确定的有穷自动机转换为与之等价的确定的有穷自动机的程序,使学生了解子集法,掌握转换过程中的相关概念和方法。DFA的表现形式可以是表格或图形。(2)问题描述 任意给定一个不确定的有穷自动机N,根据算法设计一个程序,将该NFA N变换为与之等价的DFA D。 (3)算法描述 用子集法将NFA转换成接受同样语言的DFA。 步骤一:对状态图进行改造 (1) 增加状态X,Y,使之成为新的唯一的初态和终态。从X引ε弧到原初态结点, 从原终态结 点引ε弧到Y结点。 (2) 对状态图进一步进行如下形式的改变

编译原理课程设计

编译原理课程设计 自顶向下语法分析器 学院(系):计算机科学与技术学院学生姓名:xxxxxxxxx 学号:xxxxxxxxx 班级:电计1102 大连理工大学 Dalian University of Technology

目录

1 系统概论 语法分析是编译过程的核心部分。它的任务是在词法分析识别出单词符号串的基础上,分析并判定程序的语法结构是否符合语法规则。语法分析器在编译程序中的地位如图1所示: 图1 语法分析器在编译程序中的地位 语言的语法结构是用上下文无关文法描述的。因此,语法分析器的工作本质上就是按文法的产生式,识别输入符号串是否为一个句子。这里所说的输入串是指由单词符号(文法的终结符)组成的有限序列。对一个文法,当给你一串(终结)符号时,怎样知道它是不是该文法的一个句子呢?这就要判断,看是否能从文法的开始符号出发推导出这个输入串。或者,从概念上讲,就是要建立一棵与输入串相匹配的语法分析树。 自顶向下分析法就是语法分析办法中的一类。顾名思义,自顶向下就是从文法的开始符号出发,向下推导,推出句子。这种方法是带“回溯”的。 自顶向下分析的主旨是,对任何输入串,试图用一切可能的办法,从文法开始符号(根结)出发,自上而下地为输入串建立一棵语法树。或者说,为输入串寻找一个最左推导。这种分析过程本质上是一种试探过程,是反复使用不同产生式谋求匹配输入串的过程。 实现这种自顶向下的带回溯试探法的一个简单途径是让每个非终结符对应一个递归子程序。每个这种子程序可作为一个布尔过程。一旦发现它的某个候选与输入串相匹配,就用这个候选去扩展语法树,并返回“真”值;否则,保持原来的语法树和IP值不变,并返回“假”值。 2 需求分析 以前,人们对语法的分析都建立在人工的基础上,人工分析虽然能够做到侧类旁推,但终究人力有限,再精密的分析都会出现或多或少的错误。为减少因人为产生的错误,并加快

实验一室内气流组织模拟实验 一、实验目的 通过室内气流组织模拟

实验一 室内气流组织模拟实验 一、实验目的 通过室内气流组织模拟实验,掌握常用风口、常见室内送回风口布置对室内气流分布、工作区温度速度均匀性的影响;掌握室内工作区温度和速度的测量方法、气流演示实验方法。 二、实验原理 室内气流组织的优劣直接影响室内热环境的舒适性和空调设计的实现,同时也直接影响空调系统的能耗量。通常室内工作区由余热而形成的负荷只占全室总负荷的一部分。另一部分产生于工作区之上。良好而经济的气流组织形式,应在保证工作区满足空调参数要求的前提下,使空调送风有效地排出工作区的余热,而不使工作区以外的余热带入工作区,从而达到不增加送风量且提高排风温度的效果,直接排除这部分热量,以提高空调系统的经济性。为此引入评价室内气流组织经济性指标——能量利用系数η: o n o p t t t t --= η 式中,t n 、t o 、t p 分别为室内工作区空气平均温度、送风温度及排(回)风温度。 通过实测获得能量利用系数η,以评价室内气流组织的经济性。 三、实验方法 1.气流组织测量方法 (1).烟雾法 将棉球蘸上发烟剂(如四氯化钦、四氯化锡等)放在送风口处,烟雾随气流在室内流动。仔细观察烟雾的流动方向和范围,在记录图上描绘出射流边界线、回漩涡流区和回流区的轮廓,或者采用摄影法直接记录气流形态。由于从风口射出的烟雾不大而且扩散较快,不易看清楚流动情况,可将蘸上发烟剂的棉花球绑在测杆上,放到需要测定的部位,以观察气流流型。这种方法比较快,但准确性差,只在粗测时采用。 (2).逐点描绘法 将很细的合成纤维丝线或点燃的香绑在测杆上,放在测定断面各测点位置上,观察丝线或烟的流动方向,并在记录图上逐点描绘出气流流型,或者采用摄影法直接记录气流形态。这种测试方法比较接近于实际情况。 应注意上述用于记录气流形态的摄影法对拍摄焦距、烟雾与背景的对比度等要求较高。 2.能量利用系数测量方法 分别在室内工作区、送回风口处布置温度测点,温度测量仪器采用热电偶测量,工作区温度应采用多点布置取其平均值,计算求得能量利用系数。 3.风口、气流组织的选择 目前环境室内可供测量的风口有散流器、双层百叶两种风口,可供观察的气流组织形式有上送上回、上送下回,其中散流器送风口有二个。 四、实验步骤 1. 选择一种风口形式及其气流组织方式,调整送风温度及其送风量至设定值,待稳定后进行实验;

证券模拟交易综合实验报告

证券模拟交易综合实验报告 学院: 班级: 学号: 姓名: 目录 一、实验目的 (2) 二、实验内容与要求 (2) 三、实验过程 (2) 基本面分析和技术分析 (2) 3.1.1基本面分析 (2) 3.1.2技术分析 (4) 对弘高创意公司的基本面分析 (6) 3.2.1公司基本分析 (6) 3.2.2公司财务分析 (11) 对弘高创意公司的技术分析 (15) 3.3.1 K线分析 (15) 3.3.2相对强弱指标RSI分析 (16) 3.3.3随机指标KDJ分析 (16) 3.3.4趋向指标DMI分析 (17) 3.3.5平滑异同移动平均线MACD分析 (18) 3.3.6变动速率ROC分析 (19) 四、模拟心得 (20) 参考文献 (21) 证券交易综合实验报告

一、实验目的: 通过本实验应熟悉一般股票行情动态分析系统的功能构成,掌握基本的鼠标和键盘操作,理解系统中的相关行情术语、符号、图形的含义。同时通过股票模拟交易熟悉股票的交易流程和交易规则,能够阅读公司资料进行并初步的基本分析。 二、实验内容与要求: 内容: (1)进入行情分析系统和交易系统,掌握其主要功能的键盘以及鼠标操作方法。 (2)阅读大盘和个股动态行情图,验证主要行情术语和指标的含义 (3)通过模拟交易验证股票交易的流程和交易规则。 (4)掌握阅读上市公司资料的一般方法 要求: 实验结束后写出实验报告,报告内容包括实验目的、实验步骤和实验结果(或结论) 三、实验过程: 基本面分析和技术分析 首先是了解了证券投资分析,其中包含基本面分析和技术分析。 基本面分析 基本面分析又称基本分析,是以证券的内在价值为依据,着重于对影响证券价格及其走势的各项因素的分析,以此决定投资购买何种证券及何时购买。基本面分析又分为宏观基本面分析和微观基本面分析。 宏观基本面分析包含以下因素: (1)自然、政治因素:地震、台风、战争等的影响。 (2)经济因素: ①国内生产总值:持续、稳定、高速的GDP增长,对证券市场最有利。宏观调控下的GDP减速增长对证券市场暂时不利。GDP停滞或下降,证券市场可能大跌。 ②通货膨胀、通货紧缩:通货膨胀分为温和的、可忍受、严重的和恶性的四种,温和通胀影响较小;通胀在可忍受范围持续,而经济处于景气阶段,则股价将持续上升;严重、恶性的通胀会使货币加速贬值,人们会抢购粮食和购买房屋黄金等保值,不会关注证券了。通货紧缩会导致经济衰退。 ③利率:利率下降时,股票价格上升;而利率上升时,股票价格就下降。 ④货币供应量:货币供应量适量增加,股价易上涨(过量发行货币导致恶性通胀则相反);货币供应量减少,股价易下跌。 ⑤国际收支、汇率、外汇储备:我国国际收支长期来是顺差(出口多于进口);我国外汇目前高居世界第一位;人民币汇率目前处于长期看涨,这对我国证券市场总体是有利的。 (2)政策因素: ①财政预算支出:财政预算支出重点投入的部门与地区,经济能得到较大支持。

相关主题