编译原理课设(NEU)代码main.cpp
代码有几处bug,另外当时开发的时候心太急,理论基础没有做好,导致代码有不可逆性的缺陷:符号表,大家可以将符号表结构修改一下
代码是分为多个文章中存放的
VS 2017 VC++环境
代码是分为6个部分,在个人主页中都可以找到
// 编译课程设计.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include "pch.h"
#include <iostream>
#include"exe2.h"
#include"exe1.h"
int main()
{
vector<string> x;
exe1 _exe1("D:\\VS_code\\编译课程设计\\exe1.txt");
_exe1.to_next_output.push_back("#");
exe2 _exe2(_exe1.to_next_output, _exe1.const_number);
_exe2.start();
cout << endl << endl;
_exe2.show_list_DSEG();
_exe2.show_list_CSEG();
ofstream out_aim("D:\\VS_code\\编译课程设计\\exe1_aim.txt", ios::trunc);//四元式 写入txt
for (list<string>::iterator v_i = _exe2.list_DSEG.begin(); v_i != _exe2.list_DSEG.end(); v_i++)
{//变换四元式格式
out_aim << (*v_i) << endl;
}
for (list<string>::iterator v_i = _exe2.list_CSEG.begin(); v_i != _exe2.list_CSEG.end(); v_i++)
{//变换四元式格式
out_aim << (*v_i) << endl;
}
out_aim.close();
_exe2.delete_new_object();
return 0;
}