www.pudn.com > pl0_compiler_c.rar > pc.cpp
// PL0 Compiler ////////////////////////////////////////////////////////////////////// #include#include #include #include "pl0.h" void main(int argc,char *argv[]) { char filename[256]; int endtype; printf("Welcome to 35060413 dongzy's Pl0 world!\n"); if (argc!=2) { printf("请输入源文件路径:"); gets(filename); } else strcpy(filename,argv[1]); CPlCompiler pl(filename); char ch; if (pl.FileEmpty()) { printf("对不起,没有找到文件!\n"); return; } printf("List the source file?(y/n): "); ch=getch(); while (ch!='y' && ch!='n') ch=getch(); printf("%c\n",ch); if (ch=='y') pl.DisplaySrcfile(); printf("---PL/0 Compiling start---\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("---PL/0 Compiling finished---\nList object code?(y/n): "); ch=getch(); while (ch!='y' && ch!='n') ch=getch(); printf("%c\n",ch); if (ch=='y') pl.ListCode(); printf("start\n"); pl.Interpret(); scanf("%d",&endtype); }