基于Perl的企业级代码编辑器的实现(3)
时间:2013-09-10 14:48 文章来源:http://www.lunwenbuluo.com 作者:汪灏 点击次数:
函数设了一个变量$sPureFolder,用判断其是否为空(””)来判断文件夹打开中是否产生错误。
如果在界面上选择了处理子目录,那么变量$bProcessSubFolders将被赋1,用正则式!/^\.\.?$/搜索出所有子项目,并且对这些子项目进行递归处理:如果是目录,那么用readdirDIRHANDLE更新存取目录的文件句柄;如果不是,则用closedir(DIRHANDLE)关闭目录句柄并返回0。
如果对文件夹的操作成功了,最后将返回一个1。那么再开始进行具体的处理。
3.3功能模块
3.3.1C注释符处理
3.3.2C++注释符处理
3.3.3#if0注释符处理
3.3.4Tab/Space处理
3.4Log记录处理
在进行文件处理时,所处理的内容通过一个句柄放在一个临时文件里,如果在处理中产生错误,那么这个错误也会被写入log文件中。
程序运行时,中要打开上已被创建的目录,用my($sLogFileName)=$sFileName.".log";创建一个后缀名为.log的日志文件,之后做一个判断:因为进行Tab/Space操作是不记入Log的,所以要看所操作的类型以决定要进行的Log操作:如果操作模式不等于8,那么要不断把产生的记录追加到Log文件中;否则,不进行追加操作。函数中用一个临时句柄监控错误的发生。如果在创建或者打开Log文件时产生错误,那么将调用PrintErrLogFile句柄,并返回0;如果创建或打开Log文件时没有错误,在执行过程中产生了错误,那么先把产生的错误写到临时句柄中,再用将产生的错误记录到Log中,覆盖原记录,并返回0。如果一直没有错误,那么将一直在临时文件中追加记录,最后写入Log文件中。
4结束语
该系统针对软件企业需要整理代码的需求设计而成,用于在Linux环境下整理大量的源代码。基于Perl的强大性,这个代码编辑器实现的功能可根据企业的需要作出不同调整。用Perl/Tk作出的界面也可根据个人喜好进行改动。
参考文献:
[1]MartinCB.Perl5Programmer’SReference[M].PublishedbyMcGraw-HillProfessional,2001.
[2]PaulHoffman.PerlForDummies[M].3rdEdition,PublishedbyJohnWiley&Sons,2000.
[3]DeitelHM,DeitelPJ,NietoTR,McphieDC.PerlHowToProgram[M].PublishedbyPrenticeHall,2001.
- 论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
- 论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
-
- 论文投稿客服QQ:
2863358778、
2316118108
-
- 论文投稿电话:15380085870
-
- 论文投稿邮箱:lunwenbuluo@126.com