📄 grammer.h
字号:
#ifndef GRAMMER_H
#define GRAMMER_H
#include "iostream.h"
#include "scanner.h"
void lrparser();
void yucu();
void statement();
void factor();
void expression();
void term();
void factor();
int kk=0;
void lrparser()
{
if(syn==1)
{
scanner();
yucu();
{
if(syn==6)
{
scanner();
if(syn==0 && (kk==0))
cout<<"\nsuccess!"<<endl;
}
else
{
if(kk!=1)
{
cout<<"End is not found!"<<endl;
kk=1;
}
}
}
}
else
{
cout<<"Begin Error!"<<endl;
kk=1;
}
}
void yucu()
{
statement();
while(syn==26)
{
scanner();
statement();
}
}
void statement()
{
if(syn==10)
{
scanner();
if(syn==18)
{
scanner();
expression();
}
else
{
cout<<"= error!"<<endl;
kk=1;
}
}
else
{
cout<<"yuju error!"<<endl;
kk=1;
}
}
void expression()
{
term();
while(syn==13||syn==14)
{
scanner();
term();
}
}
void term()
{
factor();
if(syn==15||syn==16)
{
scanner();
factor();
}
}
void factor()
{
if(syn==10||syn==11)
scanner();
else if(syn==27)
{
scanner();
expression();
if(syn==28)
scanner();
else
{
cout<<") Error!"<<endl;
kk=1;
}
}
else
{
cout<<"Expression Error!"<<endl;
kk=1;
}
}
#endif GRAMMER_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -