paramter.c
来自「北京航空航天大学计算机系要求的编译器大作业。大概6000行代码。」· C语言 代码 · 共 105 行
C
105 行
/***************************************
By BHU 35060122 Peng Hui;
2008.02
description:
A small compiler to translate a C program to 80X80 Assembly Code
***************************************/
#include"Global.h"
void VParamList() // <值参数列表>
{
/*if(strcmp(Symbol[1],"RParen") != 0)
{
Express();
while(strcmp(Symbol[1],"COLOM") == 0)
{
NextSym(temp);
Express();
}
}
else
Error(18);*/
Express();
while(strcmp(Symbol[1],"COLOM") == 0)
{
NextSym(temp);
Express();
}
}
void ParamList() // <参数表>
{
/*if(strcmp(Symbol[1],"int") == 0)
{
NextSym(temp);
while(1)
{
NextSym(temp);
if(strcmp(Symbol[1],"ID") == 0)
{
NextSym(temp);
if(strcmp(Symbol[1],"COLOM") == 0)
continue;
else
break;
}
else
Error(9);
}
}
else
{
return;
}*/
while(1)
{
if(strcmp(Symbol[1],"int") == 0)
{
NextSym(temp);
if(strcmp(Symbol[1],"ID") == 0)
{
NextSym(temp);
if(strcmp(Symbol[1],"COLOM") == 0)
{
NextSym(temp);
continue;
}
else if(strcmp(Symbol[1],"RParen") == 0)
break;
else
{
Error(9);
break;
}
}
}
else
{
Error(9);
break;
}
}
}
void Parameter() // <参数>
{
if(strcmp(Symbol[1],"LParen") == 0)
{
NextSym(temp);
if(strcmp(Symbol[1],"RParen") != 0)
ParamList();
if(strcmp(Symbol[1],"RParen") != 0)
{
Error(8);
NextSym(temp);
}
else
NextSym(temp);
}
else
{
Error(7);
NextSym(temp);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?