我想尝试解析VB代码来分析一些函数/ subs。
您建议使用什么库或方法来解析VB代码?我的想法是计算它们并获得每个线的行数。 (我正在分析VB4,VB5和VB6文件)。我通常用C#和Python编写代码。
谢谢
答案 0 :(得分:1)
vb6(https://www.google.com/search?q=vb6+count+lines+of+code)提供了大量的代码行计数应用程序。我已经使用了目前谷歌搜索(http://www.freevbcode.com/ShowCode.asp?ID=1975)上的第一个热门内容,它已经为我们的需求做了可靠的工作。
它按每个模块输出统计数据,这可能与您要查找的内容一致?例如:
Module Name: mymodule.bas
2,662 Total number of lines of code
2,619 Miscellaneous lines of code
21 Sub routine headings
7 Function routine headings
0 Property Let routine headings
0 Property Get routine headings
0 Property Set routine headings
0 API Declare statements
15 Constant variables
0 Type Structures
1 Auto generated lines (Not Included)
363 Blank lines (Not Included)
1,488 Comment lines (Not Included)
此应用程序附带的源代码(vb6),因此您也可以根据自己的需要进行增强。
答案 1 :(得分:0)
我终于遵循了@PanagiotisKanavos的建议。 我使用了像这样的正则表达式:
var regex = new Regex(@"(Private\s|Public\s)*(Function|Sub)+\s(\w+)(\s*)(\()", RegexOptions.IgnoreCase);
这个正则表达式非常有用,因为它避免了在VB3-6中导入库。 最后,计算代码行的方法是遵循" End Sub"或"结束功能"。我不知道VB3-6是否使用另一种方式来结束函数和方法。
我希望它对某些人有用。