资源简介

做的作业,pl0编译器,实现带参数传递,可以允许多层嵌套,包括词法分析,语法分析,语义分析,目标代码生成等。。

资源截图

代码片段和文件信息

#include “MYPL0.h“
int main()
{

  char str[] =“t1.txt“;      //程序执行的文件
 
  PL0 cp(str“nasm.txt“);
  fstream f;
  f.open(strios::in);
  if(f.fail())
  {
  cout<<“文件读取失败“;
  exit(0);
  }
symset fsys;
int i;
char flag1flag2;
char ch;

cout<<“*****************************************************************************“< cout<<“****                  程序完成人:王立春,161110112                       ***“< cout<<“****                  注:程序内置执行t1.txt程序                          ***“< cout<<“****         如果想打开其他程序,请在main中修改str[]变量为相应文件        ***“< cout<<“*****************************************************************************“<


fsys.insert(CONSTSYM)fsys.insert(VARSYM)fsys.insert(PROCSYM);
fsys.insert(BEGINSYM)fsys.insert(CALLSYM)fsys.insert(IFSYM)fsys.insert(WHILESYM);


cp.getsym();              // 词法分析,分析一个词
if(cp.checkProgram())     //检测程序入口program是否正确
{
   cp.block(000fsys);    // 分程序分析处理功能

   cp.SaveCode();           // 保存代码

   
   cout<<“是否输出pl0的源程序代码?“<       cin>>flag2;
   if(flag2==‘y‘||flag2==‘Y‘)
   {
    f.get(ch);
       for(i=0;!f.eof();i++)
   {
    cout << ch ;
   f.get(ch);
       
   }

   }
   cout<    cin>>flag1;
   if(flag1==‘y‘||flag1==‘Y‘)
   {
        cp.listcode(0);
   }
   cp.interpret();          // 对目标代码的解释执行程序 
}
else
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4415  2014-01-02 00:23  pl0编译器\PL0编译器\aaaaaaa.dsp

     文件        539  2014-01-02 00:19  pl0编译器\PL0编译器\aaaaaaa.dsw

     文件      58368  2014-01-09 23:42  pl0编译器\PL0编译器\aaaaaaa.ncb

     文件      49664  2014-01-09 23:42  pl0编译器\PL0编译器\aaaaaaa.opt

     文件        248  2014-01-09 23:41  pl0编译器\PL0编译器\aaaaaaa.plg

     文件     651349  2014-01-09 23:16  pl0编译器\PL0编译器\Debug\aaaaaaa.exe

     文件     910308  2014-01-09 23:16  pl0编译器\PL0编译器\Debug\aaaaaaa.ilk

     文件    3079456  2014-01-09 23:13  pl0编译器\PL0编译器\Debug\aaaaaaa.pch

     文件    1541120  2014-01-09 23:16  pl0编译器\PL0编译器\Debug\aaaaaaa.pdb

     文件     286046  2014-01-09 23:16  pl0编译器\PL0编译器\Debug\main.obj

     文件     420049  2014-01-08 19:02  pl0编译器\PL0编译器\Debug\MYPL0.obj

     文件      99328  2014-01-09 23:41  pl0编译器\PL0编译器\Debug\vc60.idb

     文件     159744  2014-01-09 23:16  pl0编译器\PL0编译器\Debug\vc60.pdb

     文件        508  2014-01-09 22:55  pl0编译器\PL0编译器\error1.txt

     文件         88  2014-01-09 22:51  pl0编译器\PL0编译器\error2.txt

     文件        509  2014-01-09 22:58  pl0编译器\PL0编译器\error3.txt

     文件       1633  2014-01-09 23:16  pl0编译器\PL0编译器\main.cpp

     文件      21881  2014-01-08 19:02  pl0编译器\PL0编译器\MYPL0.CPP

     文件       4542  2014-01-09 23:13  pl0编译器\PL0编译器\MYPL0.H

     文件          0  2014-01-09 23:41  pl0编译器\PL0编译器\nasm.txt

     文件        509  2014-01-09 23:42  pl0编译器\PL0编译器\t1.txt

     文件        399  2014-01-02 23:07  pl0编译器\PL0编译器\t2.txt

     文件        128  2013-12-29 15:53  pl0编译器\PL0编译器\t3.txt

     文件        106  2013-12-31 16:03  pl0编译器\PL0编译器\t4.txt

     文件        206  2014-01-02 20:35  pl0编译器\PL0编译器\t6.txt

     文件        508  2014-01-09 22:55  pl0编译器\测试程序\error1.txt

     文件         88  2014-01-09 22:51  pl0编译器\测试程序\error2.txt

     文件        509  2014-01-09 22:58  pl0编译器\测试程序\error3.txt

     文件        509  2014-01-03 10:51  pl0编译器\测试程序\t1.txt

     文件        399  2014-01-02 23:07  pl0编译器\测试程序\t2.txt

............此处省略11个文件信息

评论

共有 条评论