WEB开发网
开发学院软件开发VC PL/0语言词法及语法分析系统的设计与实现 阅读

PL/0语言词法及语法分析系统的设计与实现

 2007-03-15 21:55:30 来源:WEB开发网   
核心提示: 程序运行后,出现如图所示的界面,PL/0语言词法及语法分析系统的设计与实现(4),首先设置分析程序的路径,方法是:点菜单IDE环境(I),应该使该节点对应的单词进入用户的视区范围内, 类CIDEView中的函数GetCompileResult()中的一段代码,设置,会出现如下图所示的对话框

程序运行后,出现如图所示的界面,首先设置分析程序的路径,方法是:点菜单IDE环境(I),设置,会出现如下图所示的对话框:

在编辑框中输入分析器所在路径即可(默认分析器和源文件在一个目录下)。设置好以后,就可以在代码编辑区输入代码了,或者点“打开”打开文件,然后点击工具栏“启动”(也可按快捷键F7)按钮进行分析,分析完以后,词法分析结果会在“分析结果显示区”显示,词法和语法分析信息会在"输出信息显示区"显示。

已知的 bug 说明

由于时间关系,现有如下Bug本人未能调试出来,若有高手调试出来的话,还望告知。

  • PL.exe 有大量内存泄漏,但是本人在 CCompiler 的析构函数中用如下代码释放内存,不知为何出错:    CCompiler::~CCompiler()
        {
          //下面这段释放内存的代码不知道为什么出错
          // for(int i=0;i<m_iVecotrSymbolSize;i++)
          // delete m_vectorSymbol[i].szStr;
        }
  • 用测试源文件中的 Test3.pas 测试 PL.exe 时,不知道为什么在Debug状态下不出错,而在Release状态下出错。
  • 用测试源文件中的Test3.pas测试 IDE.exe 时,输出信息栏会多出一些前面已经显示过的信息,不知道为什么,估计读管道信息时,又把原来的已经读过了的信息又读了一遍 。
  • 源码编辑区的行和列显示问题:我目前只显示了行,列还不能显示。
  • 工作区间栏:点击右键,再选“展开”。有时候会出现不了你想要的效果,再用右键点击时,必须先用左键点击,这样才能得到你想要的效果,原因是:函数GetSelectedItem()得到的选中的项必须先用左键点击 ,不知道怎样才能解决这个问题。
  • 双击工作空间的最子节点时,应该使该节点对应的单词进入用户的视区范围内。
  • 类CIDEView中的函数GetCompileResult()中的一段代码,在Release版本中运行没有出错,在Debug版本中出错.代码如下 :    pDoc->SetPathName(strFile,1);
        pDoc->SetModifiedFlag(0);
        pDoc->OnSaveDocument((LPSTR)(LPCSTR)strFile);//先保存该文件
        str=pDoc->GetTitle();
        pDoc->SetTitle(str);
        if(str.Right(1)=="*")
        {
          str=str.Left(str.GetLength()-1);
          pDoc->SetTitle(str);
        }
        UpdateWindow();
    这段代码的意思就是在启动分析程序之前先保存文件并把窗口上做未保存标记的星号去掉。
  • 上一页  1 2 3 4 

    Tags:PL 词法

    编辑录入:爽爽 [复制链接] [打 印]
    赞助商链接