• 大小: 631.4 KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-08-24
  • 语言: 其他
  • 标签: 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


评论

共有 条评论