lr1文法实验报告.docx
《lr1文法实验报告.docx》由会员分享,可在线阅读,更多相关《lr1文法实验报告.docx(11页珍藏版)》请在冰豆网上搜索。
lr1文法实验报告
lr1文法实验报告
篇一:
实验四LR分析法
实验四LR分析法
实验学时:
2实验类型:
验证实验要求:
必修一、实验目的
构造LR分析程序,利用它进行语法分析,判断给出的符号串是否为该文法识别的句子,了解LR(K)分析方法是严格的从左向右扫描,和自底向上的语法分析方法。
二、实验内容
对下列文法,用LR
(1)分析法对任意输入的符号串进行分析:
(1)E-E+T
(2)E-E—T(3)T-T*F(4)T-T/F(5)F-(6)F-i
三、LR
(1)分析法实验设计思想及算法
总控程序,也可以称为驱动程序。
对所有的LR分析器总控程序都是相同的。
分析表或分析函数,不同的文法分析表将不同,同一个文法采用的LR分析器不同时,分析表将不同,分析表又可以分为动作表(ACTION)和状态转换(GOTO)表两个部分,它们都可用二维数组表示。
分析栈,包括文法符号栈和相应的状态栈,它们均是先进后出栈。
分析器的动作就是由栈顶状态和当前输入符号所决定。
?
LR分析器由三个部分组成:
?
其中:
SP为栈指针,S[i]为状态栈,X[i]为文法符号栈。
状态转换表用
GOTO[i,X]=j表示,规定当栈顶状态为i,遇到当前文法符号为X时应转向状态j,X为终结符或非终结符。
?
ACTION[i,a]规定了栈顶状态为i时遇到输入符号a应执行。
动作有四种
可能:
移进:
action[i,a]=Sj:
状态j移入到状态栈,把a移入到文法符号栈,其中i,j表示状态号。
归约:
action[i,a]=rk:
当在栈顶形成句柄时,则归约为相应的非终结符A,即文法中有A-B的产生式,若B的长度为R,则从状态栈和文法符号栈中自顶向下去掉R个符号,即栈指针SP减去R,并把A移入文法符号栈内,j=GOTO[i,A]移进状态栈,其中i为修改指针后的栈顶状态。
接受acc:
当归约到文法符号栈中只剩文法的开始符号S时,并且输入符号串已结束即当前输入符是’#’,则为分析成功。
报错:
当遇到状态栈顶为某一状态下出现不该遇到的文法符号时,则报错,说明输入端不是该文法能接受的符号串。
四、实验要求
1、编程时注意编程风格:
空行的使用、注释的使用、缩进的使用等。
2、如果遇到错误的表达式,应输出错误提示信息。
3、程序输入/输出实例:
输入一以#结束的符号串:
在此位置输入符号串输出过程如下:
步骤状态栈符号栈剩余输入串动作10#i+i*i#移进
五、实验源程序
import*;
import;import;import;import;
import;import;import;import;import;import;import;import;import;
publicclassLR1extendsJFrame{privatestaticfinallongserialVersionUID=1L;//*********************************privatecharVN=newchar[50];//非终结符集privatecharVT=newchar[50];//终结符集privateStringF=newString[50];//产生式集
privateStringBufferFirstVN;//非终结符的First集privateintstaStack=newint[50];//状态分析栈privatecharsymStack=newchar[50];//符号分析栈privatebooleanVNE;//非终结符与空串的关系表privateintF_index=0;//产生式数组指针privateintstaStack_index=0;//状态栈指针privateintsymStack_index=0;//符号栈指针privateintERROR=_VALUE;//出错标志privatecharemp=‘ε’;//空串privateStringerror=“x”;//分析表显示的出错标志//@jve:
decl-index=0:
privateStringacc=“acc”;//分析表显示的分析成功标志privateVector>State=newVector>;//项目集//@jve:
decl-index=0:
privateintAction;//Action动作数组privateintGoto;//Goto动作数组privateStringBufferbridge1;//描述项目集之间的转换关系,在createLR1中初始化privateintbridge2;privateJPaneljContentPane=null;privateJTextAreajTextArea4=null;privateJTextAreajTextArea3=null;privateJTextAreajTextArea2=null;privateJTextAreajTextArea_LR1States=null;privateJTextAreajTextArea_LR1AnalysisTable=null;privateJTextFieldjTextField=null;privateJTextFieldjTextField1=null;privateJTextFieldjTextField_testedString=null;privateJLabeljLabel=null;privateJLabeljLabel1=null;privateJLabeljLabel_LR1States=null;privateJLabeljLabel_inputString=null;privateJButtonjButton_test=null;privateJButtonjButton_ok=null;privateJButtonjButton_delete=null;privateJButtonjButton_clearall=null;privateJButtonjButton_testPanel=null;privateJMenuBarjJMenuBar=null;privateJMenujMenu1=null;privateJMenuItemjMenuItem1=null;privateJMenuItemjMenuItem2=null;privateJScrollPanejScrollPane_LR1States=null;privateJScrollPanejScrollPane_LR1AnalysisTable=null;
篇二:
MATLAB实验报告
MATLAB实验报告
力硕31陈泽东2131702004
2014年5月29日
有一只猎狗在B处发现了一只兔子在
正东北方距离它200米的地方O处,此
时兔子开始以8米每秒的速度向正西北
方向距离为120米的洞口A全速跑去,
假设猎狗在追赶兔子时始终朝着兔子
的方向全速奔跑。
(1)问猎狗能追上兔子的最小速度是多少?
(2)选取猎狗的速度分别为15、18米每秒,计算猎狗追
上兔子是所跑过的路程和所用的时间。
(3)画出猎狗追赶兔子奔跑的曲线图。
三.实验过程
1/15
所以最小速度为/s。
2/15
运行结果:
t==
将程序中b改为18运行结果为:
t==兔子跑过距离分别为、,所以第一次兔子已经进洞,猎狗追不上。
(3)
下图分别为猎狗速度为18m/s、15m/s时的模拟图。
3/15
4/15
煤矿的储量估计,下表给出了某露天煤矿在平面矩形区域上,在纵横均匀的网格交点处测得的煤层厚度;g——重力加速度;即可得对于给定悬浮高度h的磁悬浮状态,系统所需激磁电流为
三、实验内容
(1)观察自稳定的磁悬浮物理现象
(2)实测对应于不同悬浮高度的盘状线圈的激励电流
四、操作方法和实验步骤
1、观察自稳定的磁悬浮物理现象在给定厚度为14mm的铝板情况下,通过调节自耦
变压器以改变输入盘状线圈的激磁电流,从而观察在不同给定悬浮高度h的条件下,起因于
铝板表面层中涡流所产生的去磁效应,而导致的自稳定的磁悬浮物理现象
2、实测对应于不同悬浮高度的盘状线圈的激磁电流在厚度为14mm的铝板情况下,
以5mm为步距,对应于不同的悬浮高度,逐点测量稳定磁悬浮状态下盘状线圈中的激磁电
流,记录其悬浮高度h与激磁电流i的相应读数。
3、观察不同厚度的铝板对自稳定磁悬浮状态的影响分别在厚度为14mm和厚度为6mm
的两种铝板情况下,对应于相同的激磁电流(如i=20a),观察并读取相应的悬浮高度h
的读数,且用手直接感觉在该两种铝板情况下铝板底面的温度
五、实验结果与结论
悬浮高度h与激磁电流i的响应关系悬浮高度h激磁电流i仿真结果序号理论值(a)(cm)(a)(a)1
2 3 4
5 6 仿真结果:
磁场线图当悬浮高度为时求解在悬浮高度与激励电流关系中,实验实测数据和理论值的偏差很大,但是总体趋势相同,
都是随着高度增加而增大。
实测值与仿真结果比较接近。
理论值的推导过程中在等效半径的
估计上,a取(r1+r2)/2是偏大的,而且悬浮高度越小偏大越明显。
实际磁场并不能忽略
边缘效应,而且漏磁不可忽略,也造成了一定的实测电流偏大。
因此在实验中,电流比较小
的情况下,理论值与真实值的误差会变得非常大,也就会出现上表中的情况。
附:
命令流
/clear
!
定义参数,单位均采用国际制单位cr1=!
盘状线圈内半径cr2=!
盘状线圈外半径ch=!
盘状线圈高度n=250!
线圈匝数
lh=!
铝板高度lr1=!
铝板内半径lr2=!
铝板外半径pi=2*asin!
xfh=!
线圈悬浮高度,分析中可改变参数w=lr2!
场域外空气范围相关尺寸h=lh+xfh+ch!
场域外空气范围相关尺寸im0=!
线圈电流,分析中需调整的参数js0=im0*n*sqrt/*ch)!
线圈截面上的电流密度(幅值)!
前处理
/prep7!
前处理
et,1,plane53,,,1!
指定单元类型,轴对称场分析mp,murx,1,1!
指定1号材料(空气)的相对磁导率mp,murx,2,1!
指定2号材料(线圈)的相对磁导率mp,murx,3,1!
指定3号
材料(铝板)的相对磁导率mp,rsvx,3,!
指定3号材料(铝板)的电阻率!
建
立几何模型
!
铝板
rectng,0,lr1,0,lhrectng,0,lr2,0,lh!
线圈
rectng,0,cr1,lh+xfh,lh+xfh+chrectng,0,cr2,lh+xfh,lh+xfh+ch!
外围空气区域及整个分析场域rectng,0,lr2,0,lh+xfh+chrectng,0,w+h,-h,2*hrectng,0,w+8*h,-5*h,6*haovlap,all
!
对几何模型(即,面)设置属性!
选择线圈所对应的面,根据位置来选择asel,s,loc,x,cr1,cr2asel,r,loc,y,lh+xfh,lh+xfh+chlsel,s,loc,x,cr1asll,r
aatt,2,,1,0,
!
选择铝板
asel,s,loc,x,lr1,lr2asel,r,loc,y,0,lhlsel,s,loc,x,lr1asll,r
aatt,3,,1,0,
!
选择空气
allsel
asel,u,mat,,2,3aatt,1,,1,0
!
剖分,建立网格
!
先划分铝板所在区域asel,s,mat,,3
esize,
amesh,all
!
划分线圈所在区域
asel,s,mat,,2!
根据材料号来选择线圈esize,!
定义单元尺寸为mamesh,all!
剖分线圈所对应的面!
划分线圈外的空气区域lsel,s,loc,y,0,h
lsel,r,loc,x,0asll
cm,airin,area
mshape,1,2d
amesh,all
esize,
!
划分线圈内的空气区域smrtsize,6
mshape,1,2d!
三角形单元mshkey,0!
自由剖分asel,s,mat,,1
cmsel,u,airin
amesh,all
!
加载线圈电流密度
asel,s,mat,,2
esla
bfe,all,js,,,,js0
!
加载外边界磁力线平行边界条件allsel
lsel,s,ext!
选择外边界处的线dl,all,,asym!
磁力线平行allsel
!
加载求力边界条件
asel,s,mat,,2
esla
cm,ccoil,elem
fmagbc,ccoil
allsel
save
finish
/solu
antype,3
harfrq,50!
指定分析频率为50hz.solve!
求解
finish
/post1!
后处理
set,1,,1,0!
读实部结果plf2d,27,0,10,1!
画实部结果对应的磁场线图fmagsum,ccoil!
求线圈所受力set,1,,1,1!
读虚部结果plf2d,27,0,10,1!
画虚部结果对应的磁场线图篇二:
磁悬浮实验报告课程名称:
工程电子场与电磁波指导老师:
________熊素铭实验名称:
_磁悬浮_实验类型:
动手操作及仿真同组学生
姓名:
一、实验目的和要求(必填)二、实验内容和原理(必填)三、主
要仪器设备(必填)五、实验数据记录和处理七、讨论、心得
四、操作方法和实验步骤
六、实验结果与分析(必填)实验报告
一、实验目的和要求
1、观察自稳定的磁悬浮物理现象;
2、了解磁悬浮的作用机理及其理论分析的基础知识;
3、在理论分析与实验研究相结合的基础上,力求深化对磁场能量、电感参数和电磁力等
知识点的理解。
二、实验内容
1、观察自稳定的磁悬浮物理现象
2、实测对应于不同悬浮高度的盘状线圈的激磁电流3、观察不同厚度的铝板对自稳定磁
悬浮状态的影响
实验原理
1、自稳定的磁悬浮物理现象由盘状载流线圈和铝板相组合构成磁悬浮系统的实验装
置,如图2-6所示。
该系统中可调节的扁平盘状线圈的激磁电流由自耦变压器提供,从而在
50hz正弦交变磁场作用下,铝质导板中将产生感应涡流,涡流所产生的去磁效应,即表征
为盘状载流线圈自稳定的磁悬浮现象。
2、基于虚位移法的磁悬浮机理的分析在自稳定磁悬浮现象的理想化分析的前提下,
根据电磁场理论可知,铝质导板应被看作为完纯导体,但事实上当激磁频率为50hz时,铝
质导板仅近似地满足这一要求。
为此,在本实验装置的构造中,铝质导板设计的厚度b还必须远大于电磁波正入射平表面导体的透入深度d(b)。
换句话说,在理想化的理论分析中,就交变磁场的作用而言,此时,该铝质导板可被看作为
“透不过的导体”。
对于给定悬浮高度的自稳定磁悬浮现象,显然,作用于盘状载流线圈的
向上的电磁力必然等于该线圈的重量。
本实验中,当通入盘状线圈的激磁电流增大到使其与
铝板中感生涡流合成的磁场,对盘状载流线圈作用的电磁力足以克服线圈自重时,线圈即浮
离铝板,呈现自稳定的磁悬浮物理现象。
现应用虚位移法来求取作用于该磁悬浮系统的电动
推斥力。
首先,将图2-1所示盘状载流线圈和铝板的组合看成一个磁系统,则其对应于力状态分
析的磁场能量式中,i为激磁电流的有效值。
其次,取表征盘状载流线圈与铝板之间相对位移的广义
坐标为h(即给定的悬浮高度),则按虚位移法可求得作用于该系统的电动推斥力,也就是作
用于盘状载流线圈的向上的电磁悬浮力在铝板被看作为完纯导体的理想化假设的前提下,应用镜像法,可以导得该磁系统的自
感为
式中,a——盘状线圈被理想化为单匝圆形线圈时的平均半径;n——线匝数;r——导线
被看作圆形导线时的等效圆半径。
从而,由稳定磁悬浮状态下力的平衡关系,即式中,m——盘状线圈的质量;g——重力加速度;进一步代入关系
式,稍加整理,便可解出对于给定悬浮高度h的磁悬浮状态,系统所需激磁电流为
三、主要仪器设备磁悬浮装置
铝板:
b=14mm,b=2mm,γ=s/m盘状线圈:
n=250,r1=31mm,r2=195mm,h=,m=自耦变压器:
0~100v,0~30a,50hz电流表
四、操作方法和实验步骤
1、观察自稳定的磁悬浮物理现象在给定厚度为14mm的铝板情况下,通过调节自耦变
压器以改变输入盘状线圈的激磁电流,从而观察在不同给定悬浮高度h的条件下,起因于铝