云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 算符优先分析方法

算符优先分析方法

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 8:12:47

{

if(str[I][J+1]=='\\0') {I++;J=3;} else {

while(str[I][J+1]!='\\0') {

char aa=str[I][J]; char bb=str[I][J+1];

if(!IsLetter(aa)&&!IsLetter(bb))//优先及等于的情况,用1值表示等于 {

for(i=1;i<=kk;i++) {

if(ccrr2[i][0]==aa) break; } for(j=1;j<=kk;j++) {

if(ccrr1[0][j]==bb) break; } if(crr[i][j]==0) crr[i][j]=1;

else {FLAG=1;I=n+1;} J++; }

if(!IsLetter(aa)&&IsLetter(bb)&&str[I]

[J+2]!='\\0'&&!IsLetter(str[I][J+2]))//优先及等于的情况 {

for(i=1;i<=kk;i++)

16

{

if(ccrr2[i][0]==aa) break;

} for(int j=1;j<=kk;j++) {

if(ccrr1[0][j]==str[I][J+2]) break; } if(crr[i][j]==0) crr[i][j]=1;

else {FLAG=1;I=n+1;} }

if(!IsLetter(aa)&&IsLetter(bb))//优先及小于的情况,用2值表示小于 {

for(i=1;i<=kk;i++) {

if(aa==ccrr2[i][0]) break;

} for(j=0;j<=p;j++) {

if(bb==arr[j][0]) break;

}

for(int mm=1;arr[j][mm]!='\\0';mm++) {

for(int pp=1;pp<=kk;pp++) {

if(ccrr1[0][pp]==arr[j][mm])

17

break; }

if(crr[i][pp]==0) crr[i][pp]=2;

else {FLAG=1;I=n+1;} } J++; }

if(IsLetter(aa)&&!IsLetter(bb))//优先及大于的情况,用3值表示大于 {

for(i=1;i<=kk;i++) {

if(ccrr1[0][i]==bb) break; }

for(j=0;j<=ppp;j++) {

if(aa==brr[j][0]) break; }

for(int mm=1;brr[j][mm]!='\\0';mm++) {

for(int pp=1;pp<=kk;pp++) {

if(ccrr2[pp][0]==brr[j][mm]) break; }

if(crr[pp][i]==0) crr[pp][i]=3;

else {FLAG=1;I=n+1;}

18

} J++; } } } } }

//judge3是用来返回在归约过程中两个非终结符相比较的值 int judge3(char s,char a) {

int i=1,j=1; while(ccrr2[i][0]!=s) i++;

while(ccrr1[0][j]!=a) j++;

if(crr[i][j]==3) return 3; else if(crr[i][j]==2) return 2; else if(crr[i][j]==1) return 1; else return 0; }

void print(char s[],char STR[][20],int q,int u,int ii,int k)//打印归约的过程 {

cout<

19

搜索更多关于: 算符优先分析方法 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

{ if(str[I][J+1]=='\\0') {I++;J=3;} else { while(str[I][J+1]!='\\0') { char aa=str[I][J]; char bb=str[I][J+1]; if(!IsLetter(aa)&&!IsLetter(bb))//优先及等于的情况,用1值表示等于 { for(i=1;i<=kk;i++) { if(ccrr2[i][0]==aa) break; }

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com