start.cpp
来自「用C语言实现的PL0的源代码」· C++ 代码 · 共 65 行
CPP
65 行
// PL0 Compiler
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream>
#include "pl0.h"
void main(int argc,char *argv[])
{
char name;
char filename[256];
printf(" 2004级编译原理大作业!\n");
printf("---------------------------------------------------------------\n");
printf("writen by 刘华明 34211219, 2007-5-3\n");
printf("---------------------------------------------------------------\n");
if (argc!=2)
{
printf("source file:");
gets(filename);
}
else
strcpy(filename,argv[1]);
CPlCompiler pl(filename);
char ch;
if (pl.FileEmpty())
{
printf("source file cannot be opened!\n");
return;
}
printf("---------------------------------------------------------------\n");
printf("list source file?(y/n): ");
ch=getch();
while (ch!='y'&&ch!='n') ch=getch();
printf("%c\n",ch);
if (ch=='y') pl.DisplaySrcfile();
printf("---------------------------------------------------------------\n");
printf("compiling...\n\n");
pl.Compile();
if (pl.ErrorNumber())
{
pl.DisplayErrors();
printf("continue?(y/n): ");
ch=getch();
while (ch!='y'&&ch!='n') ch=getch();
printf("%c\n",ch);
if (ch=='n') return;
}
printf("---------------------------------------------------------------\n");
printf("list object code?(y/n): ");
ch=getch();
while (ch!='y'&&ch!='n') ch=getch();
printf("%c\n",ch);
if (ch=='y') pl.ListCode();
printf("---------------------------------------------------------------\n");
printf("start\n");
pl.Interpret();
printf("---------------------------------------------------------------\n");
printf("请输入任意字符,按回车结束!\n");
scanf("%c\n",&name);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?