pc.cpp

来自「该包中包含一个pl0文法要求和根据此文法编写的编译器」· C++ 代码 · 共 49 行

CPP
49
字号
// PL0 Compiler
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include "MAIN.h"

void main(int argc,char *argv[]){
	char filename[256];
	printf("[pl/0文法][34060415][徐振伟]\n");
	if (argc!=2){
		printf("源程序:");
		gets(filename);
	}
	else
		strcpy(filename,argv[1]);

	CPlCompiler pl(filename);
	char ch;

	if (pl.FileEmpty()){
		printf("源程序无法打开!\n");
		return;
	}

	printf("是否导入源程序?(y/n): ");
	ch=getch();
	while (ch!='y'&&ch!='n') ch=getch();
	printf("%c\n",ch);
	if (ch=='y') pl.DisplaySrcfile();

	printf("编译中...\n\n");
	pl.Compile();
	if (pl.ErrorNumber()){
		pl.DisplayErrors();
		printf("是否继续?(y/n): ");
		ch=getch();
		while (ch!='y'&&ch!='n') ch=getch();
		printf("%c\n",ch);
		if (ch=='n') return;
	}

	printf("是否生成P-code指令?(y/n): ");
	ch=getch();
	while (ch!='y'&&ch!='n') ch=getch();
	printf("%c\n",ch);
	if (ch=='y') pl.ListCode();
	printf("开始\n");
	pl.Interpret();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?