下载此文档

ll(1)文法的预测分析.doc


文档分类:高等教育 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
LL(1)文法的预测分析
2008-12-05 22:27
//
#ifndef HEAD_EDGE
#define HEAD_EDGE
#include<string>
using namespace std;
extern int SUM;
extern string NODE,ENODE;
class edge
{
public:
edge();
string getlf();
string getrg();
string getfirst();
string getfollow();
string getselect();
string getro();
int getrlen();
void newfirst(string w);
void newfollow(string w);
void newselect(string w);
void delfirst();
private:
string left,right,first,follow,select;
int rlen;
};
#endif
/////////////////////////////////////////////////////////////////////////////
//
#include<iostream>
#include ""
using namespace std;
edge::edge()
{
cin>>left>>right;
rlen=();
if((left)>())
NODE+=left;
}
string edge::getlf()
{
return left;
}
string edge::getrg()
{
return right;
}
string edge::getfirst()
{
return first;
}
string edge::getfollow()
{
return follow;
}
string edge::getselect()
{
return select;
}
string edge::getro()
{
string str;
str+=right[0];
return str;
}
int edge::getrlen()
{
return ();
}
void edge::newfirst(string w)
{
int i;
for(i=0;i<();i++)
if((w[i])>())
first+=w[i];
}
void edge::newfollow(string w)
{
int i;
for(i=0;i<();i++)
if((w[i])>()&&w[i]!='*')
follow+=w[i];
}
void edge::newselect(string w)
{
int i;
for(i=0;i<();i++)
if((w[i])>()&&w[i]!='*')
select+=w[i];
}
void edge::delfirst()
{
int i=('*');
(i,1);
}
///////////////////////////////////////////////////////////////////////////////
//
#include<iostream>
#include<string>
#include ""
using namespace std;
int SUM;
string NODE,ENODE;
//计算first
void first(edge ni,edge *n,int x)
{
int i,j;
for(j=0;j<SUM;j++)
{
if(()==n[j].getlf())
{
if((n[j].getro())<())
{
for(i=0;i<SUM;i++)
if(n[i].getlf()==n[j].getr

ll(1)文法的预测分析 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小88 KB
  • 时间2018-06-05