遞归下降语法分析报告.docVIP

  • 14
  • 0
  • 约6.98千字
  • 约 9页
  • 2016-12-03 发布于重庆
  • 举报
遞归下降语法分析报告

学 生 实 验 报 告 实验项目名称: 递归下降语法分析 实验学时: 6 同组学生姓名: 无 实验地点: B513 实验日期: 2011.3.10/3.24/4.7 实验成绩: 批改教师: 批改时间: 一、实验目的和要求 通过本实验,了解递归下降预测分析的原理和过程以及可能存在的回溯问题,探讨解决方法,为预测分析表方法的学习奠定基础。分析递归下降子程序的优缺点。 二、实验仪器和设备 硬件系统:586以上计算机、服务器要求内存256以上、Cpu 2.0GHz以上、Clinet内存128以上、CPU奔腾III以上,硬盘,光驱等 软件系统:Visual Studio 2005中文版软件 三、实验过程 1、设计框架 图1-1 递归下降程序框架图 2、设计步骤 1)给定文法: E?E+T|T T?T*F|F F?(E)|i 2)构造FIRST()集和FOLLOW()集 表2-1 FIRST()集和FOLLOW()集 FIRST FOLLOW E (,i #,+,) T (,i #,+,),* F (,i #,+,),* 3、程序源代码 using System; using System.Collections.Generic; using System.Text; namespace 递归下降语法分析 { public class Program { public static char []a=new char[50]; public static char []b=new char[50]; public static char []d=new char[200]; public static char []e=new char[10]; public static char ch; public static int n1,i1=0,flag=1,n=5; public static int total=0;/*步骤计数器*/ public static int E1() { int f,t; Console.Write(total); Console.Write(\tE--TG\t);total++; flag=1; input(); input1(); f=T(); if (f==0) return(0); t=G(); if (t==0) return(0); else return(1); } public static int E() { int f,t; Console.Write(total); Console.Write(\tE--TG\t);total++; e[0]=E;e[1]==;e[2]=;e[3]=T;e[4]=G;e[5]=#; output(); flag=1; input(); input1(); f=T(); if (f==0) return(0); t=G(); if (t==0) return(0); else return(1); } public static int T() { int f,t; Console.Write(total); Console.Write(\tT--FS\t);total++; e[0]=T;e[1]==;e[2]=;e[3]=F;e[4]=S;e[5]=#; output(); flag=1; input(); input1(); f=F(); if (f==0) return(0); t=S(); if (t==0) return(0); else return(1); } public static int G() { int f; if(ch==+) {

文档评论(0)

1亿VIP精品文档

相关文档