如何在Java语言解析器中正确标记'@'符号?

Mat*_*ick 3 java grammar parsing token language-details

我正在研究Java源代码解析器,遵循词法语法规范.

不过,我仍然坚持注释; 相关规则是:

Annotation:
    @ QualifiedIdentifier [ ( [AnnotationElement] ) ]

AnnotationTypeDeclaration:
    @ interface Identifier AnnotationTypeBody
Run Code Online (Sandbox Code Playgroud)

但我没有看到@词汇规范中任何地方提到的符号.标记化的正确规则是什么@,或者我在哪里可以找到这样的规则?

我意识到我可以轻松地为此添加一个令牌定义,它甚至可能有效.但是如果可能的话,我希望根据规范正确地做到这一点.

Bar*_*ers 5

9.6.注释类型,它说:

请注意,at符号(@)和关键字界面是两个不同的标记.从技术上讲,可以将它们与空格分开,但不鼓励这样做.