资源简介
LR0分析
LR0分析
LR0分析
LR0分析
LR0分析
LR0分析
LR0分析
LR0分析
LR0分析
代码片段和文件信息
#include
#include
#include
#include“grammer.h“
#include“opf.h“
using namespace std;
void getgrammer(grammer *g);
int main()
{
int i;
char strIn[50];
grammer g;
init(&g);
getgrammer(&g);
printf(“%d条产生式。\n“g.genNum);
for(i=0;i printf(“%s\n“g.generator[i]);
OPFAnerlizer(&gstrIn);
return 0;
}
int getLines(char **NGchar* filename)
{
FILE *fg;
if((fg=fopen(filename“r“))==NULL)
{
printf(“ERROR:file not found!\n“);
return -1;//错误返回-1
}
fseek(fg02);
int n =ftell(fg);//获得文件大小
rewind(fg);
printf(“文件大小为:%d 字节\n“n);
if(n==0)
{
printf(“空文件!\n“);
return 0;
}
int rowcolum=0;
int linenum=1;
NG[linenum-1]=(char *)malloc(50*sizeof(char));
char cc;
for(row=0;row {
while((cc=fgetc(fg))!=‘\n‘&&!feof(fg))
{
NG[row][colum++]=cc;
}
if(cc==‘\n‘)
{
linenum++;
NG[row][colum]=‘\0‘;
NG[linenum-1]=(char *)malloc(50*sizeof(char));
}
if(feof(fg))
{
NG[row][colum]=‘\0‘;
break;
}
colum=0;
}
fclose(fg);
return linenum;
// return 0;
}
void getgrammer(grammer *g)
{
int ij;
char filename[255];
printf(“请输入正规文法文件名(绝对路径):“);
scanf(“%s“filename);
g->genNum=getLines(g->generatorfilename);
if(g->genNum==-1) exit(0);
g->vn[0] = g->vt[0] = 0;
for(i=0; igenNum; i++)
{
insert2set(g->generator[i][0]g->vn);
for( j=3; jgenerator[i]); j++)
{
if( g->generator[i][j] >= ‘A‘ && g->generator[i][j] <= ‘Z‘ )
{
insert2set(g->generator[i][j]g->vn);
}
else insert2set(g->generator[i][j]g->vt);
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 32957 2008-12-14 17:55 OPF\Debug\main.obj
文件 266292 2008-12-14 17:55 OPF\Debug\OPF.exe
文件 380892 2008-12-14 17:55 OPF\Debug\OPF.ilk
文件 2001620 2008-12-14 17:55 OPF\Debug\OPF.pch
文件 607232 2008-12-14 17:55 OPF\Debug\OPF.pdb
文件 62 2008-12-07 22:20 OPF\Debug\test.txt
文件 91136 2008-12-14 17:55 OPF\Debug\vc60.idb
文件 102400 2008-12-14 17:55 OPF\Debug\vc60.pdb
文件 1123 2008-12-07 20:31 OPF\grammer.h
文件 1702 2008-12-09 17:04 OPF\main.cpp
文件 4369 2008-12-07 20:34 OPF\OPF.dsp
文件 514 2008-12-07 19:41 OPF\OPF.dsw
文件 5312 2008-12-14 17:55 OPF\opf.h
文件 58368 2008-12-14 18:07 OPF\OPF.ncb
文件 53760 2008-12-14 18:07 OPF\OPF.opt
文件 875 2008-12-14 17:55 OPF\OPF.plg
目录 0 2008-12-14 17:55 OPF\Debug
目录 0 2008-12-14 18:07 OPF
----------- --------- ---------- ----- ----
3608614 18
评论
共有 条评论