工作概述:
制作编译器编译用RISC指令写的"汇编"程序.
使用的MFC类有Cdocument , CEditView,CMainFrame,CChildFrame....MDI结构
大概流程:
CEditview类中接收消息ON_COMPILE,以document的路径为参数创建CCompile类开始编译.
CStdioFile按行读入文件内容,提取该行中有用字串;对得到的字串语法分析,出错则生成相应错误信息,无错则生成相应的中间代码;继续读入下一行,词法分析,语法分析......
若有错,则显示错误信息(文件名+行号+错误描述)
若无错,则根据中间代码生成机器码.
存在的问题:
1.如何在View中定位出错行位置?并想VC那样给出小箭头指示?(出错的行号我是有的,但是View中不知道如何使用),
2.由于CCompile类中是读一行就处理一行,所以速度比较慢!!是否可以在Doc或别的类中得到当前打开文件的内容?并提取处理?
3.当文件在外部被其他软件编辑过了,如何侦测?并提示重新LOAD.
4.如何处理两种文档?(RISC指令程序,编译信息(包括出错信息或编译成功信息)),以及他们间的信息交换.
PS:
我是刚刚接触MFC编程,像MDI中文档,视图,框架之间的关系很吃不透,所以上面的问题你看了可能会觉得很简单,但这写都是我目前无法解决的问题,恳请达人细心讲解!
另外,我对如上问题描述肯定还有你看了不知所云的,所以还恳请再具体问我下 那里描述的不清楚;