Parsing 使用Antlr4解析Java注释

Parsing 使用Antlr4解析Java注释,parsing,antlr4,Parsing,Antlr4,我正在寻找一种方法来扩展,以便能够解析Java注释。此注释可能包含与放置注释的代码相关的数据 注意:我知道可以指示lexer将注释发送到单独的隐藏通道。这不是我想要的,因为以这种方式解析注释需要很多额外的代码 既然Java注释几乎可以出现在源代码中的任何地方,那么有没有一种方法可以为Java注释创建一个解析器规则,而不需要将其放在所有解析器规则上,以便考虑所有可能的情况 如果这是不可能的,那么在类/字段/方法定义之前解析块和行注释以及在普通代码行末尾解析行注释的最直接的规则是什么?您的目标是什么

我正在寻找一种方法来扩展,以便能够解析Java注释。此注释可能包含与放置注释的代码相关的数据

注意:我知道可以指示lexer将注释发送到单独的隐藏通道。这不是我想要的,因为以这种方式解析注释需要很多额外的代码

既然Java注释几乎可以出现在源代码中的任何地方,那么有没有一种方法可以为Java注释创建一个解析器规则,而不需要将其放在所有解析器规则上,以便考虑所有可能的情况


如果这是不可能的,那么在类/字段/方法定义之前解析块和行注释以及在普通代码行末尾解析行注释的最直接的规则是什么?

您的目标是什么?如果注释没有明确的结构并且几乎完全是自由形式的,那么如何解析注释呢?您正在尝试处理文档块部分吗?如果是这样的话,已经有了这样的工具……注释包含某些描述,我可以在代码中手工解析,比如Javadoc,但它可以在任何地方的任何注释中。我不希望Antlr解析它。然而,描述与放置注释的代码相关联,因此当我在隐藏通道上解析注释时,我还需要根据块/行注释在注释之前或之后查看AST。这有意义吗?感谢您的帮助。1我将尝试看看是否有某种方法可以从解析器规则中动态更改解析器正在查看的通道,这可能取决于目标语言。2我认为可能值得发布一个新问题,其中包含您想要解析的源代码类型的示例。