期刊鉴别 论文检测 免费论文 特惠期刊 学术答疑 发表流程

基于Perl的企业级代码编辑器的实现

时间:2013-09-10 14:48 文章来源:http://www.lunwenbuluo.com 作者:汪灏 点击次数:

  1概述
  为了管理代码,有些公司要求在软件产品完工后,按照自己规范标准整理代码。但是,每项软件产品可能是分给多个外包公司完成的,产品整合后,如果要一个个手动的删除所有外包公司的附加注释信息,再加入自己的版权信息,势必消耗大量的不必要的人力物力。
  在这种情况下,该文描述了一种代码编辑器的设计与实现,它专门用于企业按照规范化的标准处理源代码。
  2设计思路
  2.1开发工具选择
  我要设计的代码编辑器与常见的UltraEdit等编辑器完全不同:首先,我们要处理的源文件容量非常大,有的源文件一个就有上百兆,普通编辑器根本无法打开。其次,我们要进行的处理比较特殊,普通编辑器也无法胜任——比如删除各种注释符这种操作,普通编辑器或者无法做到,或者会处理错误。
  比较后我选择了Perl这种开发工具。它不需要编译器和链接器来运行代码,有一套功能非常强大的用于文本处理的特性,可以处理几乎所有我们能够想到的文本变换方式,对于为大型事件创建原型来测试潜在的解决方案是十分理想的。
  正则表达式是Perl最强大的特性之一,它们几乎提供了所有用来匹配,置换和一般地截取文本的功能。在Perl中,向一块文本中插入字符称为插值。当Perl遇到一个可以被查值的字符串时,Perl先扫描整个字符串,看看其中是否有下面三个重要的字符:$,@和\。如果存在上面三个字符中的任意一个,而且该字符没有用反斜杠作前缀表示转义,则该字符马上会触发文本的插值操作。\为插入一个元字符或字符代码;$为在标量上下文中插入一个标量变量或计算一个表达式;@为在一个列表上下文中插入一个数组变量或计算一个表达式。如果没有,Perl会使用字符串本身。正则表达式可以用.来匹配任何单个字符。因此十分灵活。
  Perl中的文件句柄是一种非常独特的数据类型。这种数据类型与标量没有任何关系。文件句柄在符号表typeglob中有它们自己的槽。在进行数据写入时,首先将数据缓存在缓冲器中,直到有足够多的数据时才进行实际的发送;而在进行数据读取时,也从设备中读取比当前请求的数据量更多的数据到缓冲器中。对于文件,这样能最大限度减少所需的磁盘访问次数,而对于其它类型的文件句柄,这样做能够最大限度减少系统所需进行的中断次数。
  虽然Perl的功能非常强大,但是它的文本运行模式导致它难以使用。因此,可视化是它的一个发展方向。而Perl/Tk为Perl程序的开发,分析和可视化方面提供了图形化的支持。用Perl/Tk可以包装Perl写出的所有脚本,本应该在文本模式下运行的命令可以在一个有同样效果的GUI控制面板上执行,用户把它启动后就可以方便地使用它而不必再输入命令。
  2.2设计与实现
  这个编辑器应该包括至少三个模块:
  1)功能设计模块。用于实现这个代码编辑器的各种功能。
  2)问题处理模块。用于处理编辑器运行中可能出现的问题。
  3)界面设计模块。用于将这个编辑器界面化,使之容易操作。
  2.3代码编辑器实现中的难点
  误删是一个会导致所处理源代码出现错误的原因。为了处理这个问题,应设置Log记录和查看的功能。可以利用Perl的文件创建,输入输出等功能,在删除文件的同时,建立一个Log文件,记录被删除或更改的内容。在处理后查看Log文件确定操作是否正确。
  3系统设计
  基于Perl的企业级代码编辑器运行在装有Perl和Perl/Tk的Linux平台上。该编辑器具有强大的文本处理能力,能删除各类注释行,整理Tab/Space空行,及在文件头加入特定注释,删除或替换想要处理的字符或字符串。
  3.1系统概要设计
  3.1.1功能模块

  •   论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
  •   论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
  •  
  •   论文投稿客服QQ: 论文投稿2863358778 论文投稿2316118108
  •  
  •   论文投稿电话:15380085870
  •  
  •   论文投稿邮箱:lunwenbuluo@126.com

联系方式

  • 论文投稿客服QQ: 论文投稿2863358778
  • 论文投稿客服QQ: 论文投稿2316118108
  • 论文投稿电话:15380085870
  • 论文投稿邮箱:lunwenbuluo@126.com

热门排行

 
QQ在线咨询
咨询热线:
15380085870
微信号咨询:
lunwenbuluoli