📄 by2.cpp
字号:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"scaner.h"
void scaner();
void lrparser();
void factor();
void expression();
void term();
void factor();
void start();
int f=0;
void main()
{
FILE *fpin;
fpin=fopen("1.txt","r");
fread(prog,1,600,fpin);
fclose(fpin);
p=0;
printf("语法分析结果:\n");
scaner();
start();
}
void expression()
{
term();
while(syn==13||syn==14)
{
scaner();
term();
}
}
void term()
{
factor();
while(syn==15||syn==16)
{
scaner();
factor();
}
}
void factor()
{
if(syn==10||syn==11)
scaner();
else if(syn==27)
{
scaner();
expression();
if(syn==28)
scaner();
else
{
printf("Error:缺少')'错误!\n");
f=1;
}
}
else
{
printf("Error:输出表达式错误!\n");
f=1;
}
}
void lrparser()
{
if(syn==10||syn==11||syn==27)
{
expression() ;
{
if(syn==26 && (f==0))
printf("success!\n");
else
{
if(f!=1)
{
printf("Error:未知!\n");
f=1;
}
}
}
}
}
void start()
{
while(syn!=0)
{
lrparser();
if(f==1){
while(syn!=26)
{
scaner();
}
scaner();
scaner();
f=0;
}
else scaner();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -