【发布时间】:2016-12-30 13:06:00
【问题描述】:
我想尝试解析VB代码来分析一些函数/子。
您推荐什么库或方法来解析 VB 代码?我的想法是计算它们并获得它们每个的行数。 (我正在分析 VB4、VB5 和 VB6 文件)。我通常用 C# 和 Python 编写代码。
谢谢
【问题讨论】:
-
请阅读help center。要求图书馆或其他资源的问题不在主题范围内。
-
我的哀悼。在 .NET VB 有很多 硬编码的例外情况之前,这就是为什么从来没有一种简单的方法可以从 VB6 迁移到 VB.NET。诸如默认属性之类的东西意味着 非常 通常你不知道你叫什么 - 文本框值或其文本属性?这就是为什么也没有 VB6 重构工具的原因。您可以找到具有 VB6 语法的解析器生成器,但您应该会发现多个问题
-
@shinjidev 您要进行什么样的分析?如果您不需要防弹解析,也许一个简单的正则表达式就足够了,或者一个使用像 ANTLR 这样的解析器生成器的简单解析器就足够了。例如,可以使用正则表达式来计算输入参数
-
@shinjidev 检查例如this question。一组正则表达式模式足以解析遵循特定布局的输入
-
@shinjidev 如果这个问题被关闭,发布一个问题来询问那个精确的东西。幸运的是,计算函数/方法 LOC 相对容易,因为开始和结束很容易识别,即
Function whatever、End Function最坏的情况是,您可以捕获它们之间的任何文本,使用 ?运算符来捕获最小数量的文本,例如.*?并计算换行符