LR(1)分析法实验

时间:2013-07-18 16:44:51
【文件属性】:

文件名称:LR(1)分析法实验

文件大小:245KB

文件格式:RAR

更新时间:2013-07-18 16:44:51

LR(1) 分析法 实验

部分代码如下:需要的可联系我:QQ627845967 #include"iostream.h" #include "stdio.h" #include "malloc.h" #include "conio.h" struct Lchar{ char char_ch; struct Lchar *next; }Lchar,*p,*h,*temp,*top,*base; char curchar; char curtocmp; int right; int table[5][8]={{1,0,0,1,0,0}, {0,1,0,0,1,1}, {1,0,0,1,0,0}, {0,1,1,0,1,1}, {1,0,0,1,0,0}}; int i,j; void push(char pchar) { temp=(struct Lchar*)malloc(sizeof(Lchar)); temp->char_ch=pchar; temp->next=top; top=temp; } void pop(void) { curtocmp=top->char_ch; if(top->char_ch!='#') top=top->next; } void doforpush(int t) { switch(t) { case 0:push('A');push('T');break; case 5:push('A');push('T');break; case 11:push('A');push('T');push('+');break; case 20:push('B');push('F');break; case 23:push('B');push('F');break; case 32:push('B');push('F');push('*');break; case 40:push('i');break; case 43:push(')');push('E');push('('); } } void changchartoint() { switch(curtocmp) { case 'A':i=1;break; case 'B':i=3;break; case 'E':i=0;break; case 'T':i=2;break; case 'F':i=4; } switch(curchar) { case 'i':j=0;break; case '+':j=1;break; case '*':j=2;break; case '(':j=3;break; case ')':j=4;break; case '#':j=5; } }


【文件预览】:
LR(1)分析法
----Cpp1.opt(48KB)
----LR(1)分析法.doc(44KB)
----Cpp1.ncb(33KB)
----Cpp1.dsp(3KB)
----Debug()
--------vc60.pdb(60KB)
--------vc60.idb(41KB)
--------Cpp1.exe(184KB)
--------Cpp1.ilk(226KB)
--------Cpp1.obj(18KB)
--------Cpp1.pch(259KB)
--------Cpp1.pdb(385KB)
----Cpp1.dsw(533B)
----Cpp1.plg(732B)
----Cpp1.cpp(4KB)

网友评论

  • 还好,老师布置了这个作业,可以用来学习一下,有些借鉴作用
  • 我就觉得,是谁这么无聊,写着一个这么无聊的软件
  • 这个还是很有参考价值的,谢谢分享!