Professional Documents
Culture Documents
Recursive Descent
Recursive Descent
#include<string>
#include<string.h>
using namespace std;
void E();
void T();
void F();
void Eds();
void Tds();
int i,error;
char input[100];
int main(){
void E()
{
T();
Eds();
}
void T()
{
F();
Tds();
}
void Eds()
{
if(input[i]=='+')
{
i++;
T();
Eds();
}
}
void Tds()
{
if(input[i]=='*')
{
i++;
F();
Tds();
}
void F()
{
if(input[i]=='a')
{
i++;
}
else if(input[i]=='(')
{
i++;
E();
if(input[i]==')')
{
i++;
}
else{
error=1;
}
}
else{
error=1;
}
}