資源簡介
(1)E->TG
(2)G->+TG|—TG
(3)G->ε
(4)T->FS
(5)S->*FS|/FS
(6)S->ε
(7)F->(E)
(8)F->i
代碼片段和文件信息
/*
??E->TG??
??T->FS?
??F->(E)?
??F->i?
??S->*FS|/FS|?**FS???S->*(FS|*FS)
??S->ε
??G->+TG|-TG?
??G->ε?
*/
#include
#include
using?namespace?std;
string?str;//句子
int?flag?=?0;//0標記合法1標記非法
int?i?=?0;
void?E();
void?T();
void?G();
void?F();
void?S();
void?H();
void?Q();
void?E()
{???cout<<“E->TG“< ????T();
????G();
}
void?G()
{
????if(str[i]?==?‘+‘)
????{???cout<<“G->+TG“< ????????i++;
????????T();
????????G();
????}
if(str[i]?==?‘-‘)
????{???cout<<“G->-TG“< ????????i++;
????????T();
????????G();
????}
else
cout<<“G->ε“<
}
void?T()
{???cout<<“T->FS“< ????F();
????S();
}
void?S()
{???
????if(str[i]?==?‘*‘)
????{???i++;
????cout<<“S->Q“< ????Q();
????????
????}
if(str[i]?==?‘/‘)
????{???cout<<“s->/FS“< ????????i++;
????????F();
????????S();
????}
else
cout<<“S->ε“< }
void?Q()
- 上一篇:三維布爾運算算法
- 下一篇:數(shù)字水印c++實現(xiàn)
評論
共有 條評論