功能单元最大行数解析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
功能单元最大行数解析

文档名称:功能单元最大有效行数 作 者: 日 期: 1 分析 功能单元这里指的是函数,即整个项目中所有.c文件的函数的最大有效行数,针对找到的开源工具,有个可以利用:C and C++ Code Counter 和makeheaders,其中C and C++ Code Counter在《功能单元最大扇入扇出工具分析》中已经介绍,其中有这样的功能,即列出所有函数的LOC。Makeheaders能够把.c文件中的全局变量和函数定义抽取出来,自动生成头文件。 因此一种思路是根据makeheaders和C and C++ Code Counter的代码抽取出来,在此基础上进行字符串的匹配,这种思路虽然可以实现,但是不如解析c的语法来实现可靠。第二种方法即是基于c的语法分析来实现。 本文的主要目的就是介绍搜集到的常用的c的解析器。 2 cscope 2.1 简介 度量工具名称 cscope 网址 / 操作方式 命令行 实现语言 C++ 适用的操作系统 Linux 可以度量的属性 LOC MVC COM LOC/COM MVG/COM Fan-out Fan-in HKS NOM WMC REJ 备注 开源,有源代码,可分析后在基础上修改  Cscope的功能通过它的子命令“find”来实现。 cs find c|d|e|g|f|i|s|t name s:查找C代码符号 g:查找本定义 d:查找本函数调用的函数 c:查找调用本函数的函数 t:查找本字符串 e:查找本egrep模式 f:查找本文件 i:查找包含本文件的文件 Cscope是ATT官方发布的Unix的一部分,cscope 是一个 C 语言的浏览工具,通过这个工具可以很方便地找到某个函数或变量的定义位置、被调用的位置等信息。目前支持 C 和 C++。cscope 自身带一个基于文本的用户界面,不过 gvim 提供了cscope接口,因此可以在 gvim 中调用 cscope,方便快捷地浏览源代码。在http://iamphet.nm.ru/cscope/有Sergey Khorev预编译的一个Win32版本的cscope,这个版本的cscope可以很好的与windows版本的vim搭配使用。Cscope安装   ./configure   make   make install cscope -Rbq 3. 运行cscope,出现下面菜单: Find this C symbol: Find this function definition: Find functions called by this function: Find functions calling this function: Find this text string: Change this text string: Find this egrep pattern: Find this file: Find files #including this file: 3 Flex+Bison 3.1 简介 度量工具名称 Flex+Bison 网址 /software/bison/ 操作方式 命令行 实现语言 C 适用的操作系统 Linux 可以度量的属性 备注 一些介绍本工具的网址: /woaidongmao/archive/2008/11/23/67635.html /woaidongmao/archive/2008/11/30/68226.html 3.1.1 FLEX 是一个自动化工具,可以按照定义好的规则自动生成一个C函数yylex(),也成为扫描器(Scanner)。这个C函数把文本串作为输入,按照定义好的规则分析文本串中的字符,找到符合规则的一些字符序列后,就执行在规则中定义好的动作(Action)。例如在规则中可以这样定义:如果遇到一个换行字符\n,那么就把行计数器的值加一。 Flex文件就是一个文本文件,内容包括定义好的一系列词法规则。文件的命名习惯上以小写字母l(L)来作为文件后缀。如果为了清晰,也可以用.flx或者.flex作为文件的后缀名。Flex文件完成后,就执行下列命令: $ flex example.flex 这个命令执行后将生成一个C文件,默认文件名为lex.yy.c。这个C文件主要内容就是函数yylex()的定义。

文档评论(0)

33ggoup + 关注
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档