论坛首页 编程语言技术论坛

通用代码行统计工具

浏览 5568 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-01-11   最后修改:2010-01-12
可以统计大部分语言的代码行相信,主要接口函数:

1、初始化函数
def initialize style_xml = nil
    ...
end


style_xml为用户自定义的语言风格配置文件,格式如下所示:

<style>
   <extname name = '..., ...'>
     <line_comment>...</line_comment>
     <line_comment2>...</line_comment2>
     <comment_on>...</comment_on>
     <comment_off>...</comment_off>
     <comment_on2>...</comment_on2>
     <comment_off2>...</comment_off2>
     <quotation1>...</quotation1>
     <quotation2>...</quotation2>
     <continue_quote>...</continue_quote>
     <continue_line>...</continue_line>
     <escape>...</escape>
     <case>...</case>
   </extname>
</style>

c/c++风格配置信息例子:

<style>
   <extname name = '.c, .cc, .cpp, .cxx, .h, .hh, .hpp, .hxx'>
     <line_comment>//</line_comment>
     <comment_on>/*</comment_on>
     <comment_off>*/</comment_off>
     <quotation1>'</quotation1>
     <quotation2>"</quotation2>
     <continue_quote>false</continue_quote>
     <continue_line>\</continue_line>
     <escape>\</escape>
     <case>true</case>
   </extname>
</style>

2、统计文件
  def counter_file file
     ...
  end


3、统计代码片段
  def counter str, extname, continue = false
     ...
  end


  continue表示是否继续使用上一段代码的统计环境(主要是注释和字符串标记)

注意:工具已经内置了下面扩展名的语言设置(用户自定义设置优先于内置设置):

C#                    .cs,
C/C++                 .c, .cc, .cpp, .cxx, .h, .hh, .hpp, .hxx,
IDL                   .idl, .odl,
Java                  .java,
JavaFX                .fx,
JavaScript            .es, .js,
RC                    .rc, .rc2
HTML                  .htm, .html, .shtml
Lua                   .lua
Pascal                .pas
Perl                  .pl, .pm
Python                .py, .pyw
Ruby                  .rake, .rb, .rbw
SQL                   .sql
Tcl/Tk                .itcl, .tcl
VB                    .bas, .vb,
VBScript              .vbs
VHDL                  .vhd, .vhdl
Verilog               .v, .vh
Windows Script Batch  .bat
XML                   .axl, .dtd, .rdf, .svg, .xml, .xrc, .xsd, .xsl, .xslt, .xul


统计结果返回信息:[total_lines, code_lines, comment_lines, code_comment_lines, empty_lines]
   发表时间:2010-01-20  
不明白为什么要用xml
0 请登录后投票
   发表时间:2010-01-20  
不会ruby的话不会为了统计代码行数而装个ruby的,如果是rails代码,rails本身就提供了统计代码的rake,如果是ruby代码,ruby cookbook提供了一个完整的统计代码rake任务
0 请登录后投票
   发表时间:2010-01-21   最后修改:2010-01-21
看看这个 Python 写的代码行数统计:
http://pasite.org/code/505
0 请登录后投票
   发表时间:2010-01-21  
看看这个:
http://code.google.com/p/boomworks/wiki/SourceCounterCN
0 请登录后投票
   发表时间:2010-02-09  
1、xml的配置文件,并不是必须的,只有当语言没有被内置时,才会需要;
2、对于代码的行数统计,并不是简单统计,需要统计“总行数”、“代码行数”、“注释行数”和“空白行数”。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics