COMPILATION_UNIT -> COMPILATION_UNIT [1:0]
|--PACKAGE_DEF -> package [1:0]
|   |--ANNOTATIONS -> ANNOTATIONS [1:47]
|   |--DOT -> . [1:47]
|   |   |--DOT -> . [1:39]
|   |   |   |--DOT -> . [1:28]
|   |   |   |   |--DOT -> . [1:22]
|   |   |   |   |   |--DOT -> . [1:11]
|   |   |   |   |   |   |--IDENT -> com [1:8]
|   |   |   |   |   |   `--IDENT -> puppycrawl [1:12]
|   |   |   |   |   `--IDENT -> tools [1:23]
|   |   |   |   `--IDENT -> checkstyle [1:29]
|   |   |   `--IDENT -> grammar [1:40]
|   |   `--IDENT -> antlr4 [1:48]
|   `--SEMI -> ; [1:54]
|--IMPORT -> import [3:0]
|   |--DOT -> . [3:27]
|   |   |--DOT -> . [3:16]
|   |   |   |--DOT -> . [3:11]
|   |   |   |   |--IDENT -> java [3:7]
|   |   |   |   `--IDENT -> lang [3:12]
|   |   |   `--IDENT -> annotation [3:17]
|   |   `--IDENT -> ElementType [3:28]
|   `--SEMI -> ; [3:39]
|--IMPORT -> import [4:0]
|   |--DOT -> . [4:27]
|   |   |--DOT -> . [4:16]
|   |   |   |--DOT -> . [4:11]
|   |   |   |   |--IDENT -> java [4:7]
|   |   |   |   `--IDENT -> lang [4:12]
|   |   |   `--IDENT -> annotation [4:17]
|   |   `--IDENT -> Repeatable [4:28]
|   `--SEMI -> ; [4:38]
|--IMPORT -> import [5:0]
|   |--DOT -> . [5:27]
|   |   |--DOT -> . [5:16]
|   |   |   |--DOT -> . [5:11]
|   |   |   |   |--IDENT -> java [5:7]
|   |   |   |   `--IDENT -> lang [5:12]
|   |   |   `--IDENT -> annotation [5:17]
|   |   `--IDENT -> Target [5:28]
|   `--SEMI -> ; [5:34]
|--ANNOTATION_DEF -> ANNOTATION_DEF [8:0]
|   |--MODIFIERS -> MODIFIERS [8:0]
|   |   |--ANNOTATION -> ANNOTATION [8:0]
|   |   |   |--AT -> @ [8:0]
|   |   |   |--IDENT -> AnnotationAnnotation [8:1]
|   |   |   |--LPAREN -> ( [8:21]
|   |   |   |--ANNOTATION_MEMBER_VALUE_PAIR -> ANNOTATION_MEMBER_VALUE_PAIR [8:22]
|   |   |   |   |--IDENT -> value [8:22]
|   |   |   |   |--ASSIGN -> = [8:28]
|   |   |   |   `--EXPR -> EXPR [8:30]
|   |   |   |       `--STRING_LITERAL -> "foo" [8:30]
|   |   |   `--RPAREN -> ) [8:35]
|   |   |--ANNOTATION -> ANNOTATION [9:2]
|   |   |   |--AT -> @ [9:2]
|   |   |   `--IDENT -> AnnotationAnnotation [9:3]
|   |   `--ANNOTATION -> ANNOTATION [10:0]
|   |       |--AT -> @ [10:0]
|   |       |--IDENT -> AnnotationAnnotation [10:1]
|   |       |--LPAREN -> ( [10:21]
|   |       |--EXPR -> EXPR [10:22]
|   |       |   `--STRING_LITERAL -> "bar" [10:22]
|   |       `--RPAREN -> ) [10:27]
|   |--AT -> @ [10:29]
|   |--LITERAL_INTERFACE -> interface [10:30]
|   |--IDENT -> InputAntlr4AstRegressionAnnotationLocation [10:40]
|   `--OBJBLOCK -> OBJBLOCK [10:83]
|       |--LCURLY -> { [10:83]
|       |--ANNOTATION_FIELD_DEF -> ANNOTATION_FIELD_DEF [12:4]
|       |   |--MODIFIERS -> MODIFIERS [12:4]
|       |   |   |--ANNOTATION -> ANNOTATION [12:4]
|       |   |   |   |--AT -> @ [12:4]
|       |   |   |   |--IDENT -> AnnotationAnnotation [12:5]
|       |   |   |   |--LPAREN -> ( [12:25]
|       |   |   |   |--ANNOTATION_MEMBER_VALUE_PAIR -> ANNOTATION_MEMBER_VALUE_PAIR [12:26]
|       |   |   |   |   |--IDENT -> value [12:26]
|       |   |   |   |   |--ASSIGN -> = [12:32]
|       |   |   |   |   `--EXPR -> EXPR [12:34]
|       |   |   |   |       `--STRING_LITERAL -> "foo" [12:34]
|       |   |   |   `--RPAREN -> ) [12:39]
|       |   |   |--ANNOTATION -> ANNOTATION [13:6]
|       |   |   |   |--AT -> @ [13:6]
|       |   |   |   `--IDENT -> AnnotationAnnotation [13:7]
|       |   |   `--ANNOTATION -> ANNOTATION [14:4]
|       |   |       |--AT -> @ [14:4]
|       |   |       |--IDENT -> AnnotationAnnotation [14:5]
|       |   |       |--LPAREN -> ( [14:25]
|       |   |       |--EXPR -> EXPR [14:26]
|       |   |       |   `--STRING_LITERAL -> "bar" [14:26]
|       |   |       `--RPAREN -> ) [14:31]
|       |   |--TYPE -> TYPE [14:33]
|       |   |   `--IDENT -> String [14:33]
|       |   |--IDENT -> value [14:40]
|       |   |--LPAREN -> ( [14:45]
|       |   |--RPAREN -> ) [14:46]
|       |   `--SEMI -> ; [14:47]
|       `--RCURLY -> } [16:0]
|--ANNOTATION_DEF -> ANNOTATION_DEF [18:0]
|   |--MODIFIERS -> MODIFIERS [18:0]
|   |   |--ANNOTATION -> ANNOTATION [18:0]
|   |   |   |--AT -> @ [18:0]
|   |   |   |--IDENT -> Repeatable [18:1]
|   |   |   |--LPAREN -> ( [18:11]
|   |   |   |--EXPR -> EXPR [18:33]
|   |   |   |   `--DOT -> . [18:33]
|   |   |   |       |--IDENT -> AnnotationAnnotations [18:12]
|   |   |   |       `--LITERAL_CLASS -> class [18:34]
|   |   |   `--RPAREN -> ) [18:39]
|   |   `--ANNOTATION -> ANNOTATION [19:0]
|   |       |--AT -> @ [19:0]
|   |       |--IDENT -> Target [19:1]
|   |       |--LPAREN -> ( [19:7]
|   |       |--ANNOTATION_ARRAY_INIT -> { [19:8]
|   |       |   |--EXPR -> EXPR [19:20]
|   |       |   |   `--DOT -> . [19:20]
|   |       |   |       |--IDENT -> ElementType [19:9]
|   |       |   |       `--IDENT -> ANNOTATION_TYPE [19:21]
|   |       |   |--COMMA -> , [19:36]
|   |       |   |--EXPR -> EXPR [19:49]
|   |       |   |   `--DOT -> . [19:49]
|   |       |   |       |--IDENT -> ElementType [19:38]
|   |       |   |       `--IDENT -> METHOD [19:50]
|   |       |   `--RCURLY -> } [19:56]
|   |       `--RPAREN -> ) [19:57]
|   |--AT -> @ [20:0]
|   |--LITERAL_INTERFACE -> interface [20:1]
|   |--IDENT -> AnnotationAnnotation [20:11]
|   `--OBJBLOCK -> OBJBLOCK [20:33]
|       |--LCURLY -> { [20:33]
|       |--ANNOTATION_FIELD_DEF -> ANNOTATION_FIELD_DEF [22:4]
|       |   |--MODIFIERS -> MODIFIERS [22:4]
|       |   |--TYPE -> TYPE [22:4]
|       |   |   `--IDENT -> String [22:4]
|       |   |--IDENT -> value [22:11]
|       |   |--LPAREN -> ( [22:16]
|       |   |--RPAREN -> ) [22:17]
|       |   |--LITERAL_DEFAULT -> default [22:19]
|       |   |   `--EXPR -> EXPR [22:27]
|       |   |       `--STRING_LITERAL -> "" [22:27]
|       |   `--SEMI -> ; [22:29]
|       `--RCURLY -> } [24:0]
`--ANNOTATION_DEF -> ANNOTATION_DEF [26:0]
    |--MODIFIERS -> MODIFIERS [26:0]
    |   `--ANNOTATION -> ANNOTATION [26:0]
    |       |--AT -> @ [26:0]
    |       |--IDENT -> Target [26:1]
    |       |--LPAREN -> ( [26:7]
    |       |--ANNOTATION_ARRAY_INIT -> { [26:8]
    |       |   |--EXPR -> EXPR [26:20]
    |       |   |   `--DOT -> . [26:20]
    |       |   |       |--IDENT -> ElementType [26:9]
    |       |   |       `--IDENT -> ANNOTATION_TYPE [26:21]
    |       |   |--COMMA -> , [26:36]
    |       |   |--EXPR -> EXPR [26:49]
    |       |   |   `--DOT -> . [26:49]
    |       |   |       |--IDENT -> ElementType [26:38]
    |       |   |       `--IDENT -> METHOD [26:50]
    |       |   `--RCURLY -> } [26:56]
    |       `--RPAREN -> ) [26:57]
    |--AT -> @ [27:0]
    |--LITERAL_INTERFACE -> interface [27:1]
    |--IDENT -> AnnotationAnnotations [27:11]
    `--OBJBLOCK -> OBJBLOCK [27:33]
        |--LCURLY -> { [27:33]
        |--ANNOTATION_FIELD_DEF -> ANNOTATION_FIELD_DEF [29:4]
        |   |--MODIFIERS -> MODIFIERS [29:4]
        |   |--TYPE -> TYPE [29:4]
        |   |   |--IDENT -> AnnotationAnnotation [29:4]
        |   |   `--ARRAY_DECLARATOR -> [ [29:24]
        |   |       `--RBRACK -> ] [29:25]
        |   |--IDENT -> value [29:27]
        |   |--LPAREN -> ( [29:32]
        |   |--RPAREN -> ) [29:33]
        |   `--SEMI -> ; [29:34]
        `--RCURLY -> } [31:0]
