📄 by2view.cpp
字号:
if(i<j)
temp=(char)str.GetAt(i);
else
temp=001;
i++;
break;
case 13:
if(i<j)
temp=(char)str.GetAt(i);
else
temp=001;
i++;
break;
case 10:
if(i<j)
temp=(char)str.GetAt(i);
else
temp=001;
i++;
flag++;
break;
case '=':
if(i<j)
temp=(char)str.GetAt(i);
else
temp=001;
i++;
if(temp=='=')
{
char t[5]="11";
pDoc->result+='(';
pDoc->result+=t;
pDoc->result+=" , ";
pDoc->result+=" == ";
pDoc->result+=')';
pDoc->result+='\r';
pDoc->result+='\n';
result[r][0]=11;
result[r][1]=flag;
r++;
//chuli
if(i<j)
temp=(char)str.GetAt(i);
else
temp=001;
i++;
}
else
{
char t[5]="14";
pDoc->result+='(';
pDoc->result+=t;
pDoc->result+=" , ";
pDoc->result+=" = ";
pDoc->result+=')';
pDoc->result+='\r';
pDoc->result+='\n';
result[r][0]=14;
result[r][1]=flag;
r++;
}
break;
case 001:
break;
default:
char ch[10];
CBY2Doc* pDoc = GetDocument();
pDoc->result+="The Error in the ROW:";
itoa(flag,ch,10);
pDoc->result+=ch;
pDoc->result+='\r';
pDoc->result+='\n';
if(i<j)
temp=(char)str.GetAt(i);
else
temp=001;
i++;
break;
}
}//while(i<=j)
// this->MessageBox(pDoc->result);
// GetEditCtrl().SetSel(j,j+100);
// GetEditCtrl().ReplaceSel(pDoc->result);
result[r][1]=flag;
result[r][0]=1024;
Even_S();
(pView->GetEditCtrl()).SetWindowText(pDoc->result);
}
char CBY2View::Check_alphabet(char *TT)
{
int i=0;
while(i<6)
{
if(TT==keyword[i])
{
if(i==0) return '0';
if(i==1) return '1';
if(i==2) return '2';
if(i==3) return '3';
if(i==4) return '4';
if(i==5) return '5';
}
i++;
}
if(i==6)
{
return '6';
}
return -1;
}
//DEL char CBY2View::Check_error(int flag)
//DEL {
//DEL
//DEL }
int CBY2View::Even_S()
{
r=0;
if(0==result[r][0])
{
r++;
if(16==result[r][0])
{
r++;
if(17==result[r][0])
{
r++;
if(18==result[r][0])
{
r++;
Even_A();
if(19==result[r][0])
{
r++;
if(1024==result[r][0])
finishi();
else
error(result[r][1],29);
}//19
else
{
error(result[r][1],19);
return 0;
}//else19
}//18
else
{
error(result[r][1],18);
return 0;
}//else18
}//17
else
{
error(result[r][1],17);
return 0;
}//else17
}//16
else
{
error(result[r][1],16);
return 0;
}//else16
}//0
else
{
error(result[r][1],0);
return 0;
}
}
int CBY2View::Even_A ()
{
Even_B ();
Even_C ();
return 1;
}
int CBY2View::Even_B ()
{
Even_D ();
if(6==result[r][0])
{
r++;
if(25==result[r][0])
{
r++;
}//25
else
{
error(result[r][1],25);
return 0;
}//else25
}//6
else
{
error(result[r][1],6);
return 0;
}
}
int CBY2View::Even_D ()
{
if(1==result[r][0])
r++;
else
if(2==result[r][0])
r++;
else
if(3==result[r][0])
r++;
else
{
error(result[r][1],1);
return 0;
}
}
int CBY2View::Even_C ()
{
switch(result[r][0])
{
case 1:
Even_B();
Even_C();
break;
case 2:
Even_B();
Even_C();
break;
case 3:
Even_B();
Even_C();
break;
case 4:
Even_G();
Even_C();
break;
case 6:
Even_F();
Even_C();
break;
case 19:
break;
default:
error(result[r][1],30);
return 0;
}
return 1;
}
int CBY2View::Even_G ()
{
if(4==result[r][0])
{
r++;
if(16==result[r][0])
{
r++;
Even_H();
if(17==result[r][0])
{
r++;
if(18==result[r][0])
{
r++;
Even_C();
if(19==result[r][0])
{
r++;
Even_G1();
}//19
else
{
error(result[r][1],19);
return 0;
}//else19
}//18
else
{
error(result[r][1],18);
return 0;
}//else18
}//17
else
{
error(result[r][1],17);
return 0;
}//else17
}//16
else
{
error(result[r][1],16);
return 0;
}
}//4
else
{
error(result[r][1],4);
return 0;
}//else4
return 1;
}
int CBY2View::Even_F ()
{
if(6==result[r][0])
{
r++;
if(14==result[r][0])
{
r++;
Even_I();
if(25==result[r][0])
{
r++;
}//25
else
{
error(result[r][1],25);
return 0;
}//else25
}//14
else
{
error(result[r][1],14);
return 0;
}//else14
}//6
else
{
error(result[r][1],6);
return 0;
}
return 1;
}
int CBY2View::Even_I ()
{
Even_J();
Even_I1();
return 1;
}
int CBY2View::Even_J ()
{
Even_K();
Even_J1();
return 1;
}
int CBY2View::Even_K ()
{
switch(result[r][0])
{
case 6:
r++;
break;
case 7:
Even_L();
break;
case 16:
{
r++;
Even_I();
if(17==result[r][0])
{
r++;
}
else
{
error(result[r][1],17);
return 0;
}
}
break;
default:
error(result[r][1],30);
return 0;
}
}
int CBY2View::Even_H ()
{
Even_I();
Even_N();
Even_I();
return 0;
}
int CBY2View::Even_L ()
{
if(7==result[r][0])
{
r++;
Even_L1();
}
else
{
error(result[r][1],7);
return 0;
}
}
int CBY2View::Even_N ()
{
switch(result[r][0])
{
case 8:
r++;
break;
case 9:
r++;
break;
case 10:
r++;
break;
case 11:
r++;
break;
case 12:
r++;
break;
case 13:
r++;
break;
case 15:
r++;
break;
default:
error(result[r][1],30);
return 0;
}
}
int CBY2View::Even_G1 ()
{
switch(result[r][0])
{
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 6:
break;
case 19:
break;
case 5:
{
r++;
if(18==result[r][0])
{
r++;
Even_C();
if(19==result[r][0])
{
r++;
}//19
else
{
error(result[r][1],19);
return 0;
}//else19
}//18
else
{
error(result[r][1],18);
return 0;
}//else18
}
break;
default:
error(result[r][1],30);
return 0;
}
}
int CBY2View::Even_I1 ()
{
switch(result[r][0])
{
case 8:
break;
case 9:
break;
case 10:
break;
case 11:
break;
case 12:
break;
case 13:
break;
case 15:
break;
case 17:
break;
case 25:
break;
case 20:
{
r++;
Even_J();
Even_I1();
}
break;
case 21:
{
r++;
Even_J();
Even_I1();
}
break;
default:
error(result[r][1],30);
return 0;
}
}
int CBY2View::Even_J1 ()
{
switch(result[r][0])
{
case 8:
break;
case 9:
break;
case 10:
break;
case 11:
break;
case 12:
break;
case 13:
break;
case 15:
break;
case 17:
break;
case 20:
break;
case 21:
break;
case 22:
{
r++;
Even_K();
Even_J1();
}
break;
case 23:
{
r++;
Even_K();
Even_J1();
}
break;
case 25:
break;
default:
error(result[r][1],30);
return 0;
}
}
int CBY2View::Even_L1 ()
{
switch(result[r][0])
{
case 8:
break;
case 9:
break;
case 10:
break;
case 11:
break;
case 12:
break;
case 13:
break;
case 15:
break;
case 17:
break;
case 20:
break;
case 21:
break;
case 22:
break;
case 23:
break;
case 24:
{
r++;
if(7==result[r][0])
{
r++;
}
else
error(result[r][1],17);
return 0;
}
break;
case 25:
break;
default:
error(result[r][1],30);
return 0;
}
}
void CBY2View::error(int flag,int type)
{
char ch[10];
itoa(flag,ch,10);
CString re;
switch(type)
{
case 0:
re="Miss The main ";
break;
case 1:
re="Miss The type:int,real,char";
break;
case 4:
re="Miss The if";
break;
case 5:
re="Miss The else";
break;
case 6:
re="Miss The Variable";
break;
case 7:
re="Miss The Number";
break;
case 8:
re="Miss The Connection Symbol";
break;
case 14:
re="Miss The = Symbol";
break;
case 16:
re="Miss The ( Symbol";
break;
case 17:
re="Miss The ) Symbol";
break;
case 18:
re="Miss The { Symbol";
break;
case 19:
re="Miss The } Symbol";
break;
case 20:
re="Miss The + Symbol";
break;
case 21:
re="Miss The - Symbol";
break;
case 22:
re="Miss The * Symbol";
break;
case 23:
re="Miss The / Symbol";
break;
case 24:
re="Miss The . Symbol";
break;
case 25:
re="Miss The ;";
break;
case 29:
re="Donot Finish !!!";
default:
re="near the ";
re+=ch;
}
CBY2Doc* pDoc = GetDocument();
pDoc->result+="The Error is:";
pDoc->result+=re;
pDoc->result+=" In thr Row :";
pDoc->result+=ch;
pDoc->result+='\r';
pDoc->result+='\n';
}
void CBY2View::finishi()
{
CBY2Doc* pDoc = GetDocument();
pDoc->result+="Check Completely! Your Program have no error!";
pDoc->result+='\r';
pDoc->result+='\n';
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -