RG识别关键技术钻研(2)
作者:佚名; 更新时间:2014-12-05

  
  3 文法的识别主要算法分析
  
  识别的关键是对所输入的符号串的格式上的判断,左部需要满足为单个的大写英文,而右部应是单个小写或是一个小写和一个大写的组合,只有这样才满足RG的要求,此处给出对右部的进行识别的部分主要过程。
  if(rlen==1)
  {
  char va=rs.GetAt(0);
  findvalue(va,End,C);
  rlen=-1;
  }
  以上算法是对文法右部的检查,即判断右部为单个小写的情况.
  if(rlen==2)
  {
  char VT1=rs.GetAt(0);
  char VT2=rs.GetAt(1);
  int fa=0;
  while(fa<=maxlen)
  {
  if(fa==maxlen)
   {D=0;fa++;}
  else
  {
  if(VT1==Noend[fa].value)
  {
  int fb=0;
  while(fb<=maxlen)
  {
  if(fb==maxlen){D=0;fb++;fa=maxlen+1;}
  else
  {
  if(VT2==End[fb].value)//是终结符号:
  {fb=maxlen+1;fa=maxlen+1;}//检查全部完毕:
  else{fb++;}
  }
  }
  }
  else{fa++;}
  }
  以上是对小写加大写的情况的分析。对经过判断后的文法存储,便可由接下的步骤完成文法到自动机的转换。这样就完成了一个较为完整的RG识别过程。
  
  4 结论
  
  本文主要根据RG的特点,在设计了一个识别过程的基础上,完成文法判断及到自动机的转换。希望能够对词法分析的初学者提供一些帮助。下步待继续的工作是在自动机的基础上完成对输入句子的运行识别.
  
  参考文献:
  [1] 张幸儿.计算机编译原理[M].2版.北京:科学出版社,2003:31-34.
  [2] 陈火旺,等.程序设计语言编译原理[M].3版.北京:国防工业出版社,2000:34-35.
  [3] 王育坚.VC++面向对象编程教程[M].北京:清华大学出版社,2003.
核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com