funcdec.c
来自「北京航空航天大学计算机系要求的编译器大作业。大概6000行代码。」· C语言 代码 · 共 84 行
C
84 行
/***************************************
By BHU 35060122 Peng Hui;
2008.02
description:
A small compiler to translate a C program to 80X80 Assembly Code
***************************************/
#include"Global.h"
void FuncDef() // <子函数定义>
{
if(strcmp(Symbol[1],"int") == 0)
{
DeclHead();
}
else if(strcmp(Symbol[1],"void") == 0)
{
NextSym(temp);
if(strcmp(Symbol[1],"ID") != 0)
Error(5);
NextSym(temp);
}
Parameter();
CompStmt();
}
void voidFunc()
{
NextSym(temp);
Parameter();
CompStmt();
}
void MainFunc() // <主函数>
{
if(strcmp(Symbol[1],"main") == 0)
{
NextSym(temp);
if(strcmp(Symbol[1],"LParen") == 0)
{
NextSym(temp);
if(strcmp(Symbol[1],"RParen") == 0)
{
NextSym(temp);
//CompStmt();
if(strcmp(Symbol[1],"LBrace") == 0)
{
NextSym(temp);
if(strcmp(Symbol[1],"const") == 0)
{
while(strcmp(Symbol[1],"const") == 0)
{
ConstDec();
}
}
if(strcmp(Symbol[1],"int") == 0)
{
while(strcmp(Symbol[1],"int") == 0)
{
VariDec();
}
}
StmtList();
if(strcmp(Symbol[1],"RBrace") != 0)
Error(6);
return;
}
else
{
Error(6);
NextSym(temp);
}
}
else
Error(10);
}
else
Error(10);
}
else
Error(10);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?