📄 pl0_compiler.cpp
字号:
// PL0_Compiler.cpp : 定义控制台应用程序的入口点。
//高凯 34211504
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include "pl0.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"PL/0编译系统 PL/0-Compiler\n作者:高凯 34211504\n2007年寒假\n\n\n";
char ch;
//do{
char filename[256];
cout<<"请键入源文件地址:";
gets(filename);
CPl0 pl(filename);
if (pl.FileEmpty())
{
cout<<"源文件为空!\n";
ch=getch();
return 0;
}
cout<<"是否显示源文件?(y/n): ";
ch=getch();
while (ch!='y'&&ch!='n')
ch=getch();
cout<<ch<<endl;
if (ch=='y')
{
cout<<"\n源代码如下:"<<endl;
pl.ShowSrcfile();
}
cout<<"正在编译中...\n\n";
pl.Compile();
if (pl.ErrorNumber())
{
pl.ShowErrors();
cout<<"是否继续?(y/n): ";
ch=getch();
while (ch!='y'&&ch!='n')
ch=getch();
cout<<ch<<endl;
if (ch=='n')
return 0;
}
cout<<"是否列出目标代码并生成目标语言文件?(y/n): ";
ch=getch();
while (ch!='y'&&ch!='n')
ch=getch();
cout<<ch<<endl;
if (ch=='y')
{
cout<<"\n目标代码如下:"<<endl;
pl.ListCode();
}
do{
cout<<"start\n";
pl.Interpret();
cout<<"end\n是否继续测试该程序?(y/n): ";
ch=getch();
while (ch!='y'&&ch!='n')
ch=getch();
cout<<ch<<endl;
}while(ch == 'y');
/*cout<<"\n是否要编译其他程序?(y/n): ";
ch=getch();
while (ch!='y'&&ch!='n')
ch=getch();
cout<<ch<<endl;
}while(ch == 'y');*/
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -