- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 关于中小城市技术创新战略的思考_王其藩.pdf
- 水环境中药物及个人护理品_PPCPs_的生物降解研究进展.pdf
- 10个人风险管理与保险规划.pdf
- 机械通气患者口腔护理新进展.pdf
- 四川省职业教育与成人教育学会2015年工作要点.pdf
- 科技政策评估的内涵与评估框架研究.pdf
- 2014年杭州师范大学考研试题308护理综合真题.pdf
- 2014年采掘接替计划方案.pdf
- 智慧健康养老产业发展行动计划(2017-2020年).pdf
- 基于状态压缩的动态规划.pdf
- 原电池电动势的测定实验报告.pdf
- 与业主、设计、总包、监理和他承包人的配合措施.pdf
- 公司管理流程.pptx
- 2024_2025学年新教材高中地理第1章地球的运动素养综合训练新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第3章大气的运动第1节常见天气系统第1课时锋与天气分层作业新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第1章地球的运动第2节地球运动的地理意义第4课时正午太阳高度的变化四季更替和五带划分分层作业课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第2章地表形态的塑造第2节构造地貌的形成第1课时地质构造与地貌课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第1章地球的运动问题研究人类是否需要人造月亮课件新人教版选择性必修1.pptx
- 五片小雪花课件.pdf
- 2024_2025学年新教材高中地理第3章大气的运动第2节气压带和风带第1课时气压带和风带的形成分层作业课件新人教版选择性必修1.pptx
文档评论(0)