c语言编译器剔除注释,这是一段编译器代码,有没有高手帮忙做下注释,实在是看不懂啊,小弟...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include "globals.h"

#include "util.h"

#include "scan.h"

#include "parse.h"

static TokenType token;

static TreeNode * dec_list(void);

static TreeNode * declaration(void);

static TreeNode * param_list(void);

static TreeNode * param(void);

static TreeNode * statement_list(void);

static TreeNode * statement(void);

static TreeNode * expression_stmt(void);

static TreeNode * compound_stmt(void);

static TreeNode * selection_stmt(void);

static TreeNode * iteration_stmt(void);

static TreeNode * return_stmt(void);

static TreeNode * expression(void);

static TreeNode * simple_exp(void);

static TreeNode * additive_exp(void);

static TreeNode * term(void);

static TreeNode * factor(void);

static TreeNode * var(void);

static TreeNode * call(void);

static TreeNode * args(void);

static TreeNode * arg_list(void);

static void syntaxError(char * message)

{

fprintf(listing,"\n>>> ");

fprintf(listing,"Syntax error at line %d: %s",lineno,message);

Error = TRUE;

}

static void match(TokenType expected)

{

if (token == expected) token = getToken();

else

{

syntaxError("unexpected token -> ");

printToken(token,tokenString);

fprintf(listing,"      ");

}

}

//2

TreeNode * dec_list(void)

{

TreeNode * t =NULL;

if(token==INT||token==VOID)

{

t  = declaration();

TreeNode * p = t;

while (token!=ENDFILE&&(token==INT||token==VOID))

{

TreeNode * q;

q = declaration();

if (q!=NULL)

{

if (t==NULL) t = p = q;

else

{

p->sibling = q;

p = q;

}

}

}

}

return t;

}

//3,4,5,6

TreeNode * declaration(void)

{

TreeNode * t = newDecNode();

if(token==VOID)

{

strcpy(t->type,"void");

}

else if(token==INT)

{

strcpy(t->type,"int");

}

token=getToken();

t->attr.name = copyString(tokenString);

token=getToken();

switch (token)

{

case SEMI :

match(SEMI);

t->kind.dec =VarK;

break;

case LFANG :

match(LFANG);

t->kind.dec =ArrayK;

t->child[0]=factor();

match(RFANG);

match(SEMI);

break;

case LPAREN :

match(LPAREN);

t->kind.dec = FunK;

if (t!=NULL)

t->child[0] = param_list();

match(RPAREN);

if (t!=NULL)

t->child[1] = compound_stmt();

break;

default : syntaxError("unexpected token -> ");

printToken(token,tokenString);

token = getToken();

break;

}

return t;

}

//8

TreeNode * param_list(void)

{

TreeNode * t = param();

TreeNode * p = t;

while (token!=RPAREN && token!= LHUA)//此处修改后:当函数后括号去掉是就不会出现n多错误的情况

{

match(COM);

TreeNode * q;

q = param();

if (q!=NULL)

{

if (t==NULL) t = p = q;

else

{ p->sibling = q;

p = q;

}

}

}

return t;

}

//9

TreeNode * param(void)

{

TreeNode * t = newParamNode();

if(token==VOID)

{

match(VOID);

t->kind.param=Null;

}

else if(token==INT)

{

strcpy(t->type,"int");

token=getToken();

if(token != ID)//补充,修改后,可识别错误

{

syntaxError("unexpected token -> ");

# 高校智慧校园解决方案摘要 智慧校园解决方案是针对高校信息化建设的核心工程,旨在通过物联网技术实现数字化校园的智能化升级。该方案通过融合计算机技术、网络通信技术、数据库技术和IC卡识别技术,初步实现了校园一卡通系统,进而通过人脸识别技术实现了更精准的校园安全管理、生活管理、教务管理和资源管理。 方案包括多个管理系统:智慧校园管理平台、一卡通卡务管理系统、一卡通人脸库管理平台、智能人脸识别消费管理系统、疫情防控管理系统、人脸识别无感识别管理系统、会议签到管理系统、人脸识别通道管理系统和图书馆对接管理系统。这些系统共同构成了智慧校园的信息化基础,通过统一数据库和操作平台,实现了数据共享和信息一致性。 智能人脸识别消费管理系统通过人脸识别终端,在无需接触的情况下快速完成消费支付过程,提升了校园服务效率。疫情防控管理系统利用热成像测温技术、视频智能分析等手段,实现了对校园人员体温监测和疫情信息实时上报,提高了校园公共卫生事件的预防和控制能力。 会议签到管理系统和人脸识别通道管理系统均基于人脸识别技术,实现了会议的快速签到和图书馆等场所的高效通行管理。与图书馆对接管理系统实现了一卡通系统与图书馆管理系统的无缝集成,提升了图书借阅的便捷性。 总体而言,该智慧校园解决方案通过集成的信息化管理系统,提升了校园管理的智能化水平,优化了校园生活体验,增强了校园安全,并提高了教学和科研的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值