资源简介
从new.txt文件中读入写好的由正规表达式(a|b)*(aa|bb)(a|b)*所转化的正规文法(右线性),自动构造项目集族,生成LR分析表,并对输入的字符串通过LR分析表进行分析,输出分析过程,指出错误
代码片段和文件信息
#include
#include
#include
#include
#include “ll1analysis.h“
#include “Main.h“
struct cstack fhz;
char row[4] = {‘S‘‘A‘‘B‘‘F‘};
char col[3] = {‘a‘‘b‘‘#‘};
char ll_wenfa[9][20]={“S->aA““S->bB““A->aF““A->bB““B->aA““B->bF““F->aF““F->bF““F->“};
int ana_table[4][3]={
{01-1}
{23-1}
{45-1}
{678}
};
void print_ll_stack()
{
int i=0;
for(i=0;i {
printf(“%c“fhz.data[i]);
}
printf(“\t“);
}
void init_stack()
{
fhz.top=0;
}
bool pop_c_stack()
{
if(fhz.top<0) return false;
else
{
fhz.top--;
return true;
}
}
bool push_c_stack(char c)
{
if(fhz.top>=50)
return false;
else
{
fhz.data[fhz.top]=c;
fhz.top++;
return true;
}
}
char get_stack_top()
{
return fhz.data[fhz.top-1];
}
void print_ll_table()
{
for(int i=0;i<4;i++)
{
for(int j=0;j<3;j++)
{
if(ana_table[i][j]>=0)
printf(“%s\t“ll_wenfa[ana_table[i][j]]);
else
printf(“error\t“);
}
printf(“\n“);
}
}
void ll1()
{
char str[50];
char st;
int int_sint_tint_wwlength;
init_stack();
print_ll_table();
printf(“输入一个字符串:“);
scanf(“%s“str);
getchar();
int str_count = (int)strlen(str);
str[str_count]=‘#‘;
str_count++;
str[str_count]=‘\0‘;
push_c_stack(‘#‘);
push_c_stack(‘S‘);
for(int i=0;i {
print_ll_stack();
printf(“%s\t“&str[i]);
t=str[i];
s=get_stack_top();
pop_c_stack();
if(s==‘#‘&&t==‘#‘)
{
printf(“succeed“);
}
else
{
if(s>=‘A‘&&s<=‘Z‘)
{
for(int_s=0;int_s<4;int_s++)
{
if(s==row[int_s])
break;
}
for(int_t=0;int_t<3;int_t++)
{
if(t==col[int_t])
break;
}
if(ana_table[int_s][int_t]>=0)
{
int_w = ana_table[int_s][int_t];
printf(“%s“ll_wenfa[int_w]);
wlength = (int)strlen(ll_wenfa[int_w]);
wlength--;
for(;ll_wenfa[int_w][wlength]!=‘>‘;wlength--)
{
push_c_stack(ll_wenfa[int_w][wlength]);
}
i--;
}
else
{
printf(“error\t“);
}
}
else
{
if(s==t)
{
printf(“\t\n“);
continue;
}
else
{
printf(“error\t“);
push_c_stack(s);
}
}
}
printf(“\n“);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-10 20:49 byylks\
目录 0 2018-11-06 10:00 byylks\.vs\
目录 0 2018-11-06 10:00 byylks\.vs\byylks\
目录 0 2018-11-06 10:01 byylks\.vs\byylks\v15\
文件 5120 2018-11-06 10:01 byylks\.vs\byylks\v15\.suo
文件 1839104 2018-11-06 10:01 byylks\.vs\byylks\v15\Browse.VC.db
目录 0 2018-11-06 10:00 byylks\.vs\byylks\v15\ipch\
目录 0 2018-11-06 10:00 byylks\.vs\byylks\v15\ipch\AutoPCH\
目录 0 2018-11-06 10:01 byylks\.vs\byylks\v15\ipch\AutoPCH\6688b59fc27e555\
文件 2818048 2018-11-06 10:01 byylks\.vs\byylks\v15\ipch\AutoPCH\6688b59fc27e555\MAIN.ipch
目录 0 2018-11-06 10:00 byylks\Backup\
文件 4727 2018-11-07 20:56 byylks\byylks.dsp
文件 535 2018-11-07 15:16 byylks\byylks.dsw
文件 66560 2018-11-10 20:49 byylks\byylks.ncb
文件 51712 2018-11-10 20:49 byylks\byylks.opt
文件 1407 2018-11-10 20:49 byylks\byylks.plg
文件 6454 2018-11-06 10:00 byylks\byylks.vcxproj
文件 1309 2018-11-06 10:00 byylks\byylks.vcxproj.filters
文件 165 2018-11-06 10:00 byylks\byylks.vcxproj.user
目录 0 2018-11-10 20:49 byylks\Debug\
文件 225329 2018-11-10 20:49 byylks\Debug\byylks.exe
文件 296568 2018-11-10 20:49 byylks\Debug\byylks.ilk
文件 344 2018-11-06 10:00 byylks\Debug\byylks.log
文件 3572840 2018-11-10 20:49 byylks\Debug\byylks.pch
文件 582656 2018-11-10 20:49 byylks\Debug\byylks.pdb
文件 17900 2018-11-07 21:56 byylks\Debug\ll1analysis.obj
文件 48230 2018-11-10 20:49 byylks\Debug\LRanalysis.obj
文件 15082 2018-11-10 20:49 byylks\Debug\Main.obj
文件 20730 2018-11-09 14:16 byylks\Debug\syfbyyl.obj
文件 156672 2018-11-10 20:49 byylks\Debug\vc60.idb
文件 86016 2018-11-10 20:49 byylks\Debug\vc60.pdb
............此处省略12个文件信息
相关资源
- 《编译原理》第三版课后习题答案(
- 编译原理实验:C编译器源代码
- 编译原理自底向上语法分析--LR分析
- 编译器词法分析,语法分析
- 编译原理试卷
- 北京邮电大学计算机学院复试笔试资
- 编译原理(龙书)中文第二版
- [2008]计算机编译原理第三版 张幸儿编
- 南昌大学编译原理期中、期末试卷及
- A Retargetable C Compiler_Design and Implement
- 编译原理基础习题与上机题解答 西电
- 编译原理 (龙书) 中英文 第二版+答
- 编译原理美Alfred V. Aho第二版 中文版
- 编译原理 蒋宗礼 姜守旭编 高等教育
- 语法分析算符优先.doc
- 国防科技大学编译原理课件ppt上机指
- Louden著,冯博琴译,《编译原理及实
- 编译原理基础习题与上机题答案
- 编译原理教程.pdf
- 编译原理龙书第2版英文原书
- 编译原理与实践中文版
- 编译原理 龙书第二版 高清非扫描
- 编译原理词法分析+语法分析课设
- 编译原理教程 胡元义 含最新版的p
- 哈工大编译原理历年试题
- 东华大学 编译原理 实验代码报告
- 哈工大编译原理课件(龙书为教材)
- 编译原理 紫龙书第2版 中文版 带书签
- 编译原理课件(龙书为教材).ppt
- [龙书]编译原理技术与工具 (详细书
评论
共有 条评论