資源簡介
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
評論
共有 條評論