云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 编译原理LL(1)语法分析实验报告要点

编译原理LL(1)语法分析实验报告要点

  • 62 次阅读
  • 3 次下载
  • 2025/12/11 3:45:29

e.length=2; t.origin='T';

strcpy(t.array,\ t.length=2; g.origin='G';

strcpy(g.array,\ g.length=3; g1.origin='G'; g1.array[0]='^'; g1.length=1; s.origin='S';

strcpy(s.array,\ s.length=3; s1.origin='S'; s1.array[0]='^'; s1.length=1; f.origin='F';

strcpy(f.array,\ f.length=3; f1.origin='F'; f1.array[0]='i'; f1.length=1;

for(m=0;m<=4;m++)/*初始化分析表*/ for(n=0;n<=5;n++)

C[m][n].origin='N';/*全部赋为空*/ /*填充分析表*/

C[0][0]=e;C[0][3]=e;

C[1][1]=g;C[1][4]=g1;C[1][5]=g1; C[2][0]=t;C[2][3]=t;

C[3][1]=s1;C[3][2]=s;C[3][4]=C[3][5]=s1; C[4][0]=f1;C[4][3]=f;

printf(\提示:本程序只能对由'i','+','*','(',')'构成的以'#'结束的字符串进行分析,\\n\

printf(\请输入要分析的字符串:\ do/*读入分析串*/ {

scanf(\

if ((ch!='i') &&(ch!='+') &&(ch!='*')&&(ch!='(')&&(ch!=')')&&(ch!='#')) {

printf(\输入串中有非法字符\\n\ exit(1); }

B[j]=ch;

8

j++;

}while(ch!='#'); l=j;/*分析串长度*/

ch=B[0];/*当前分析字符*/

A[top]='#'; A[++top]='E';/*'#','E'进栈*/

printf(\步骤\\t\\t分析栈 \\t\\t剩余字符 \\t\\t所用产生式 \\n\ do {

x=A[top--];/*x为当前栈顶字符*/ printf(\ printf(\

for(j=0;j<=5;j++)/*判断是否为终结符*/ if(x==v1[j]) {

flag=1; break; }

if(flag==1)/*如果是终结符*/ {

if(x=='#') {

finish=1;/*结束标记*/

printf(\接受 */ getchar(); getchar(); exit(1); }/*if*/ if(x==ch) {

print(); print1();

printf(\匹配\\n\

ch=B[++b];/*下一个输入字符*/ flag=0;/*恢复标记*/ }/*if*/

else/*出错处理*/ {

print(); print1();

printf(\出错\\n\输出出错终结符*/ exit(1); }/*else*/ }/*if*/

else/*非终结符处理*/

9

{

for(j=0;j<=4;j++) if(x==v2[j]) {

m=j;/*行号*/ break; }

for(j=0;j<=5;j++) if(ch==v1[j]) {

n=j;/*列号*/ break; }

cha=C[m][n];

if(cha.origin!='N')/*判断是否为空*/ {

print(); print1();

printf(\输出产生式*/ for(j=0;j

for(j=(cha.length-1);j>=0;j--)/*产生式逆序入栈*/ A[++top]=cha.array[j];

if(A[top]=='^')/*为空则不进栈*/ top--; }/*if*/

else/*出错处理*/ {

print(); print1();

printf(\出错\\n\输出出错非终结符*/ exit(1); }/*else*/ }/*else*/ }while(finish==0); }/*main*/

【运行结果】

10

11

搜索更多关于: 编译原理LL(1)语法分析实验报告要点 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

e.length=2; t.origin='T'; strcpy(t.array,\ t.length=2; g.origin='G'; strcpy(g.array,\ g.length=3; g1.origin='G'; g1.array[0]='^'; g1.length=1; s.origin='S'; strcpy(s.array,\ s.length=3; s1.origin='S'; s1.array[0]='^'; s1.length=1; f.origin='F'; strcpy(f.array,\ f.length=3; f1.origin='F'; f1.array[0]='i'; f1.length=1; for(m=0;m<=4

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com