《编译原理》预备实验五:搭建编译程序集成运行环境框架.pdf

《编译原理》预备实验五:搭建编译程序集成运行环境框架.pdf

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译原理》预备实验五:搭建编译程序集成运行环境框架

预备实验五:搭建编译程序集成 运行环境框架 实验目的:利用可视化编程工具,搭建编译原理实 验的集成运行环境框架。 实验要求:利用自己熟悉的可视化编程工具,搭建 自己的可视化程序界面。 实验内容:编写程序,完成如下图所示的编译程序 运行界面:主要完成菜单定义和窗口划分。 实验步骤 • 1、建立应用程序框架 – 在菜单中选择“文件”—“新建”打开建立用 户应用程序对话框。 – 在对话框的“工程”页面左边选择MFC AppWizard[exe] ;在右边“位置”编辑框中 键入要建的项目存放位置,例如D盘根目 录;在“工程”编辑框中键入要建的工程名 称。然后确定,进入下一个界面。 • 当出现右上图所示的界面时 选择“S单个文档”,表示用户 程序一次只能打开一个文档 窗口;单击“完成”,完成应 用程序框架的设计。 • 编译连接该应用程序框架, 再运行右下图所示。 2 建立自己的MFC菜单项 • 切换到菜单栏。切换到资源视图页 (ResourceView),双击“Menu”文件夹下 的IDR_MAINFRAME,在右边出现菜单栏。 • 双击菜单栏上最右边的空白菜单项,弹出 菜单项属性对话框。在标题栏中输入“词法 分析” 。 • 添加下拉菜单项。在“词法分析”菜单下的空 白下拉菜单项处双击鼠标左键。弹出下拉 菜单属性对话框,如下图,设ID为 ID_LexAnalyzer,标题为“词法分析器” 。 • 用同样的方法可以添加多个下拉菜单项。 • 建立下拉菜单后,就可以编译运行,运行 后在“词法分析”菜单下面的子菜单呈现灰 色,点击它却没反应,这是由于还没有对 菜单项添加响应消息。 3 为下拉菜单项添加消息响应函数 • 在菜单编辑界面,鼠标右键单击空白工作区, 在弹出菜单中选择“建立类向导”,弹出“建立类 向导”MFC ClassWizard对话框。 • 在“Class name:”栏选择消息响应函数添加在哪个 类中(CMainFrame);在Object IDs中选定需要定义 响应函数的对象(ID_LexAnalyzer),在 “Messages:”栏选择“COMMAND”表示该消息是命 令消息。单击“Add Function”按钮,弹出“Add Member Function”对话框(如上图)。 • 单击“OK” 。再单击“Edit Code”按钮进入代码编辑 界面,如下图。现在就可以完善该函数语句,使之 完成一定的功能。 4.三叉窗口的切分 • 使用“建立类向导…”对话框添加新的视图类 (选择Add Class/new… ): 以CEditView为基类,分别添加 CSourceView, CErrorView和COutputView 三个类视图。 • 在框架窗口类CMainFrame中声明两个 CSplitterWnd类型的成员变量m_wndSplitter1 和m_wndSplitter2用于两次切分。 – 在类视图“Class View”中右击CMainFrame类,选 择“Add Member Varible”,输入类型和变量名, 如图。 • 为框架窗口类CMainFrame建立OnCreateClient函数。 – 在“建立类向导…”中Class name和Object IDs都选择 CMainFrame,Messages OnCreateClient,点击Add Function,如图。 – 点击Edit Code 为该函数添加代码。代码的主要内容是调用 函数对主窗口进行静态切分,产生每个视图窗口。 • 在OnCreateClient函数中调用CSplitterWnd::CreateStatic, 产生静态切分。 – 该函数的原形如下: BOOL CreateStatic( CWnd* pParentWnd, int nRows, int nCols, DWORD dwSty

您可能关注的文档

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档