编译原理语法分析器

上传人:hs****ma 文档编号:489105965 上传时间:2023-06-19 格式:DOC 页数:31 大小:634.50KB
返回 下载 相关 举报
编译原理语法分析器_第1页
第1页 / 共31页
编译原理语法分析器_第2页
第2页 / 共31页
编译原理语法分析器_第3页
第3页 / 共31页
编译原理语法分析器_第4页
第4页 / 共31页
编译原理语法分析器_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《编译原理语法分析器》由会员分享,可在线阅读,更多相关《编译原理语法分析器(31页珍藏版)》请在金锄头文库上搜索。

1、实验二 语法分析器一、实验目的通过完成预测分析法的语法分析程序,了解预测分析法和递归子程序法的区 别和联系。 使学生了解语法分析的功能, 掌握语法分析程序设计的原理和构造方 法,训练学生掌握开发应用程序的基本方法。 有利于提高学生的专业素质, 为培 养适应社会多方面需要的能力。二、实验内容根据某一文法编制调试 LL ( 1 )分析程序,以便对任意输入的符号串 进行分析。构造预测分析表,并利用分析表和一个栈来实现对上述程序设计语言的分 析程序。分析法的功能是利用 LL (1)控制程序根据显示栈栈顶内容、向前看符号 以及 LL (1)分析表,对输入符号串自上而下的分析过程。三、LL (1)分析法实

2、验设计思想及算法模块结构: (1)定义部分:定义常量、变量、数据结构。(2)初始化:设立 LL(1) 分析表、初始化变量空间(包括堆栈、结构体、数组、 临时变量等);( 3)控制部分:从键盘输入一个表达式符号串;(4)利用LL(1)分析算法进行表达式处理:根据 LL(1)分析表对表达式符号串进 行堆栈(或其他)操作,输出分析结果,如果遇到错误则显示错误信息。刃和程序入取占入符取f入符黃弃出挨顶符号较入况LLCI)預测分析程序流程四、实验要求1、编程时注意编程风格:空行的使用、注释的使用、缩进的使用等。2、如果遇到错误的表达式,应输出错误提示信息。3、对下列文法,用LL( 1)分析法对任意输入的

3、符号串进行分析:(1) E-TG(2) G-+TG| TG(3) G- &(4) T-FS(5) S-*FS|/FS(6) S-(7) F-(E)(8) F-i 输出的格式如下:分祈枝1口1刈oi+i+i#1+1*T*+ i*i#+ 1*1*+ i*i# x+l#E-TGT-FS F-is- HTG功作 初始化POP, PUSH (GT)POP, PVSM (SF) ror, fvsk G) GETNEXT CDDnr F i- rsrsss1*4*1*1#*r#T-PSPOPPOP, PUSH(GT) GETNEXT CO rop, FVSH P) rop,mMG)i* i#GETNEXTC

4、I) S-*FSPOP, FUSKteF*)GETHE 灯 CD F-irorrvsKG)OETNEXT CD200&-6-23五、实验源程序LLl.javaimport java.awt.*;importjava.awt.eve nt.*;importjavax.swi ng.*;importjavax.swi ng.table.DefaultTableModel;import java.sql.*;import java.util.Vector;public class LL1 exte nds JFrameimpleme ntsActio nListe ner/*privatestati

5、cfinallong serialVers ionUIDJTextFieldtf1 ;JTextFieldtf2 ;JLabell ;JButt onb0;JPanelp1 , p2 , p3 ;JTextAreat1 , t2 , t3 ;JButt onb1, b2 , b3 ;*/=1L;JLabell0 , l1 , l2 , l3 , l4 ;JTabletable ;Stateme ntsta ;Connectionconn ;ResultSetrs ;DefaultTableModeldtm ;Stri ngVn = null ;VectorP=nullintfirstCompl

6、ete=null ; /存储已判断过first的数据charfirst =null ;/存储最后first 结果intfollowComplete=null ; /存储已判断过follow的数据charfollow =null;II存储最后follow 结果charselect =null;II存储最后select 结果intLL =0; /标记是否为LL (1 )Stri ngvt_tou =null;II储存VtObjectshuju =null;II存储表达式数据charyn_n ull =null ;II存储能否推出空LL1()setLocati on (100,0); setSize

7、(700,780);tf1 =new JTextField(13);tf2 =new JTextField(13);l =new JLabel( );l0=new JLabel(输入字符串:”););l1= newJLabel(输入的文法为丿;l2= new JLabel( ););l3= newJLabel(分析的结果丿;II .l4= newJLabel(预测分析表);p仁new JPa nel();p2 = new JPa nel();p3 = new JPa nel();t1 := new JTextArea(24,20);t2 := new JTextArea(1,30);t3 :=

8、 new JTextArea(24,40);b0 = new JButton(确定(S 为开始);bl := new JButto n(”判断文法”b2 =new JButton( 输入 );b3 =new JButton( 清空 );table =new JTable();JScrollPane jp1=new JScrollPane(JScrollPane jp2=new JScrollPane(JScrollPane jp3=new JScrollPane(p2 .add(tf1 );p2 .add(l );p2 .add(tf2 );p2 .add(b0 );p2 .add(b1 );

9、p2 .add(l0 );p2 .add(l2 );p2 .add(jp2);p2 .add(b2 );p2 .add(b3 );p2 .add(l1 );p2 .add(l3 );p2 .add(jp1);p2 .add(jp3);t1 );t2 );t3 );p3 .add( l4 );p3 .add( new JScrollPane( table ); add( p2 , Center );add( p3 , South );b0 .addActionListener(b1 .addActionListener(b2 .addActionListener(b3 .addActionLis

10、tener( setDefaultCloseOperation(JFrame.tableDimension(660,200);setVisible(.setPreferredScrollableViewportSize(true );this ); this ); this ); this );EXIT_ON_CLOSE ) newpublic void actionPerformed(ActionEvent e) if (e.getSource()= b0)String a=tf1 .getText();String b=tf2 .getText();t1 .appe nd(a+t +b+

11、n);if (e.getSource()= bl)t3 .setText(”);int Vnnum=0,k;Vn = new String100;P=new Vector();Stri ng s=t1 .getText().split(n);for ( int i=0;is. length ;i+)if (s. length 2)判断长度是否符t3 .setText( 文法输入有误,请重新输入”);/ 合return ;if (si.charAt(O)=A &si.charAtfor (k=0;k=Vnnum)存入Vn数据VnVnn um=si.substri ng(0, 1);/Vnnu m

12、+;P.add(si);elset3 .setText( 文法输入有误,请重新输入);return ;yn_null=new char 100;first=new char Vnnum100;int flag=0;Stri ng firstV n=null ;firstComplete =new int Vnnum;for ( int i=0; Vni!= null ;i+)/ 依次求 FIRST*flag=0;if (flag=add_First(first i,Vn i,firstVn,flag)=-1)returnfirstComplete i=1;t3 .append( first 集: +n ); for ( int i=0; Vni!= null ;i+)/ 显示 FIRST*t3 .append( first(+Vni+ )= );for ( int j=0; first ij!=0 ;j+)t3 .append( first ij+II II);t3 .append( +n );fol

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号