基于Perl的企业级代码编辑器的实现(2)
时间:2013-09-10 14:48 文章来源:http://www.lunwenbuluo.com 作者:汪灏 点击次数:
功能模块接受从界面传来的命令和参数,按照命令和参数调用相应的模块。它主要包括进行综合处理的模块,C注释符处理模块,C++注释符处理模块,#if0注释符处理模块,Tab/Space处理模块。
综合处理模块负责接受界面传来的命令和参数,将它传给要调用的模块。调用的模块做完相应处理后,它要把结果再传给界面模块,让界面上显示相应的结果信息。模块还要根据返回值调用问题处理模块,根据返回值确定是做Log记录还是出错记录。
各个具体处理模块则负责进行处理并传送一个返回值给综合处理模块。C注释符处理模块删除所处理目录下的所有源文件的C注释符,C++注释符处理模块删除C++注释符,#if0注释符处理#if0注释符,Tab/Space处理模块处理Tab字符和文本整理.这些模块的返回值只有0和1,为0说明处理失败,为1说明处理成功。
特殊处理模块中Add操作处理只返回0或1,删除和替换处理还有可能返回一个为2的值:当返回值为2说明没有找到要处理的内容.功能模块得到这个值后传给界面模块,再显示相应的信息框。
3.1.2界面功能模块
界面窗口由主窗口,两个文件夾对话框,一个文件对话框,一个文本框,8个信息提示框构成.主窗口由8个Frame构成,最上面的两个Frame中都有一个Label,一个输入框,两个按钮组成。在这里可以选择要处理的文件目录,要存放Log文件的目录,查看Log文件,进行代码处理。
下面又分为左右两部分。左边有一个Frame专门放置了一个列表框,用于显示要处理的文件目录中有哪些子目录和源文件。3个Frame用于放置做添加,删除,替换这些特殊处理的控件,控件由Label,输入框,按钮组成.可以在列表框里查看文件和目录。可以进行各种特殊处理。
界面右下有两个Frame,一个放置复选框控件和下拉框控件,另一个放置Exit按钮。
3.1.3问题处理模块
问题处理模块要针对可能出现的问题进行设计.实际设计中包括两部分:对注释符的优先级进行判定;对Log的记录。
对注释符的优先级判定在处理每行时都要调用,设计时按照各种所见到的用例排定优先处理级别,之后按照顺序处理传输过来的代码行。
在功能模块得到返回值后,会调用Log记录模块,根据返回值做不同的记录:返回值为0,做错误记录;返回值为1,做处理记录。
3.2主函数模块
3.2.1Cleanup函数模块
在Cleanup函数中,定义了各类全局变量,调用了包括界面处理的Disp.pm等各模块,用变量获得界面部分传来的参数。
3.2.2Main函数模块
在Main函数中,用全局变量g_type来传递操作类型:设置一个变量$oper_type接受g_type传来的值,如果它在0到8之间,那么值不变;如果它在9到16之间,那么将控制Tab/Space处理的布尔值$bTabSpace置1,再将$oper_type自身减去8以判断要进行的操作。如果是16,17,18,则进行相应的删除,替换,追加信息处理。
Main模块还要将运行产生的返回值传递给界面模块。返回值有3个:0位出错;1为执行成功;2为删除处理或替换处理中的特殊情况——没找到要删除或要替换的内容。
3.2.3文件目录处理模块
程序通过ProcessFolder函数进行对文件夹的处理。
- 论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
- 论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
-
- 论文投稿客服QQ:
2863358778、
2316118108
-
- 论文投稿电话:15380085870
-
- 论文投稿邮箱:lunwenbuluo@126.com