【发布时间】:2012-03-30 00:00:13
【问题描述】:
我正在尝试使用 ANTLR 来分析使用完整 Java 语法的大量代码。由于ANTLR需要打开所有源文件并扫描它们,我想知道它是否也可以返回代码行。
我检查了 Lexer 和 Parser 的 API,它们似乎没有返回 LoC。使用语法规则来获得 LoC 是否容易?完整的 Java 规则很复杂,我真的不想弄乱它的大部分。
【问题讨论】:
-
如果您只想知道文件中的行,您可以只运行 unix/cygwin wc。这显然与“代码行”不同,但这个数字是出了名的不稳定;每个源代码行一个标记的文件可能具有巨大的“源代码行”计数,但它不是真实的。您最好实际解析和计算类似于“语句”之类的内容,这与布局无关。
-
@IraBaxter 谢谢。 “代码行”还应包括类声明、导入语句等。我目前正在计算 LoC 在另一个传递中。我想知道我是否可以在ANTLR传递中直接轻松获得它。
标签: antlr lexical-analysis lines-of-code