0 Star 0 Fork 0

TRH/生成中间代码的编译器

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
kernel_module.h 907 Bytes
一键复制 编辑 原始数据 按行查看 历史
TRH 提交于 2018-05-28 22:56 . .h文件加入
#ifndef __KERNEL_MODULE__
#define __KERNEL_MODULE__
#include "my_hash.h"
#include "work_stack.h"
//语法分析器 处理子程序
//@param vector<TOKEN> &token_list 词法分析器处理获得的缓冲区
//@return bool 处理结果
//@throws 归约失败 返回 false
bool kernel_module(vector<TOKEN> &token_list){
work_stack fact_stack;
bool error_flag = true;
int index = 0;
for(vector<TOKEN>::iterator it = token_list.begin() ;it!=token_list.end() ; it++){
error_flag = fact_stack.try_insert((*it));
if(! error_flag) {
cout<<"error : " << index <<",before " << (*it).name<<" with error"<<endl;
}
index ++;
}
TOKEN end_token = {"stop",STOP};
fact_stack.try_insert(end_token);//插入结束符
cout<<"index:"<<index<<endl;
cout<<"end check"<<endl<<"-------------------------"<<endl;
if(fact_stack.if_succeed()){
cout<<"succeed!"<<endl;
return true;
}else{
cout<<"false!"<<endl;
return false;
}
}
#endif
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/trhdq/MY_IDE.git
git@gitee.com:trhdq/MY_IDE.git
trhdq
MY_IDE
生成中间代码的编译器
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385