PACKAGE_DEF -> package [1:0]
|--ANNOTATIONS -> ANNOTATIONS [1:39]
|--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]
`--SEMI -> ; [1:47]
ENUM_DEF -> ENUM_DEF [3:0]
|--MODIFIERS -> MODIFIERS [3:0]
|   `--LITERAL_PUBLIC -> public [3:0]
|--ENUM -> enum [3:7]
|--IDENT -> InputRegressionJavaEnum1 [3:12]
`--OBJBLOCK -> OBJBLOCK [3:37]
    |--LCURLY -> { [3:37]
    |--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [4:4]
    |   |--ANNOTATIONS -> ANNOTATIONS [4:4]
    |   |--IDENT -> E1 [4:4]
    |   |--LPAREN -> ( [4:6]
    |   |--ELIST -> ELIST [4:7]
    |   `--RPAREN -> ) [4:7]
    |--COMMA -> , [4:8]
    |--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [4:10]
    |   |--ANNOTATIONS -> ANNOTATIONS [4:10]
    |   |--IDENT -> E2 [4:10]
    |   `--OBJBLOCK -> OBJBLOCK [4:13]
    |       |--LCURLY -> { [4:13]
    |       |--CLASS_DEF -> CLASS_DEF [5:8]
    |       |   |--MODIFIERS -> MODIFIERS [5:8]
    |       |   |--LITERAL_CLASS -> class [5:8]
    |       |   |--IDENT -> anonymous [5:14]
    |       |   `--OBJBLOCK -> OBJBLOCK [5:24]
    |       |       |--LCURLY -> { [5:24]
    |       |       `--RCURLY -> } [5:25]
    |       |--VARIABLE_DEF -> VARIABLE_DEF [6:8]
    |       |   |--MODIFIERS -> MODIFIERS [6:8]
    |       |   |   |--LITERAL_PRIVATE -> private [6:8]
    |       |   |   |--LITERAL_STATIC -> static [6:16]
    |       |   |   `--FINAL -> final [6:23]
    |       |   |--TYPE -> TYPE [6:29]
    |       |   |   `--LITERAL_INT -> int [6:29]
    |       |   |--IDENT -> f [6:33]
    |       |   |--ASSIGN -> = [6:35]
    |       |   |   `--EXPR -> EXPR [6:37]
    |       |   |       `--NUM_INT -> 1 [6:37]
    |       |   `--SEMI -> ; [6:38]
    |       |--METHOD_DEF -> METHOD_DEF [8:8]
    |       |   |--MODIFIERS -> MODIFIERS [8:8]
    |       |   |   |--ANNOTATION -> ANNOTATION [8:8]
    |       |   |   |   |--AT -> @ [8:8]
    |       |   |   |   `--IDENT -> Override [8:9]
    |       |   |   `--LITERAL_PUBLIC -> public [9:8]
    |       |   |--TYPE -> TYPE [9:15]
    |       |   |   `--LITERAL_VOID -> void [9:15]
    |       |   |--IDENT -> override [9:20]
    |       |   |--LPAREN -> ( [9:28]
    |       |   |--PARAMETERS -> PARAMETERS [9:29]
    |       |   |--RPAREN -> ) [9:29]
    |       |   `--SLIST -> { [9:31]
    |       |       `--RCURLY -> } [9:32]
    |       |--SEMI -> ; [9:33]
    |       |--METHOD_DEF -> METHOD_DEF [10:8]
    |       |   |--MODIFIERS -> MODIFIERS [10:8]
    |       |   |   `--LITERAL_PUBLIC -> public [10:8]
    |       |   |--TYPE_PARAMETERS -> TYPE_PARAMETERS [10:15]
    |       |   |   |--GENERIC_START -> < [10:15]
    |       |   |   |--TYPE_PARAMETER -> TYPE_PARAMETER [10:16]
    |       |   |   |   `--IDENT -> T [10:16]
    |       |   |   `--GENERIC_END -> > [10:17]
    |       |   |--TYPE -> TYPE [10:19]
    |       |   |   `--LITERAL_VOID -> void [10:19]
    |       |   |--IDENT -> m1 [10:24]
    |       |   |--LPAREN -> ( [10:26]
    |       |   |--PARAMETERS -> PARAMETERS [10:27]
    |       |   |--RPAREN -> ) [10:27]
    |       |   `--SLIST -> { [10:29]
    |       |       `--RCURLY -> } [10:30]
    |       |--SEMI -> ; [10:31]
    |       |--METHOD_DEF -> METHOD_DEF [11:8]
    |       |   |--MODIFIERS -> MODIFIERS [11:8]
    |       |   |   `--LITERAL_PUBLIC -> public [11:8]
    |       |   |--TYPE -> TYPE [11:15]
    |       |   |   `--LITERAL_VOID -> void [11:15]
    |       |   |--IDENT -> m2 [11:20]
    |       |   |--LPAREN -> ( [11:22]
    |       |   |--PARAMETERS -> PARAMETERS [11:23]
    |       |   |--RPAREN -> ) [11:23]
    |       |   |--LITERAL_THROWS -> throws [11:25]
    |       |   |   `--IDENT -> Exception [11:32]
    |       |   `--SLIST -> { [11:42]
    |       |       |--LITERAL_THROW -> throw [11:44]
    |       |       |   |--EXPR -> EXPR [11:50]
    |       |       |   |   `--LITERAL_NEW -> new [11:50]
    |       |       |   |       |--IDENT -> Exception [11:54]
    |       |       |   |       |--LPAREN -> ( [11:63]
    |       |       |   |       |--ELIST -> ELIST [11:64]
    |       |       |   |       `--RPAREN -> ) [11:64]
    |       |       |   `--SEMI -> ; [11:65]
    |       |       `--RCURLY -> } [11:67]
    |       |--SEMI -> ; [11:68]
    |       |--METHOD_DEF -> METHOD_DEF [12:8]
    |       |   |--MODIFIERS -> MODIFIERS [12:8]
    |       |   |   |--LITERAL_PUBLIC -> public [12:8]
    |       |   |   `--LITERAL_NATIVE -> native [12:15]
    |       |   |--TYPE -> TYPE [12:22]
    |       |   |   `--LITERAL_VOID -> void [12:22]
    |       |   |--IDENT -> m3 [12:27]
    |       |   |--LPAREN -> ( [12:29]
    |       |   |--PARAMETERS -> PARAMETERS [12:30]
    |       |   |--RPAREN -> ) [12:30]
    |       |   |--LITERAL_THROWS -> throws [12:32]
    |       |   |   `--IDENT -> Exception [12:39]
    |       |   `--SEMI -> ; [12:48]
    |       |--INSTANCE_INIT -> INSTANCE_INIT [14:8]
    |       |   `--SLIST -> { [14:8]
    |       |       |--EMPTY_STAT -> ; [14:9]
    |       |       `--RCURLY -> } [14:10]
    |       `--RCURLY -> } [15:4]
    |--SEMI -> ; [16:4]
    |--METHOD_DEF -> METHOD_DEF [18:4]
    |   |--MODIFIERS -> MODIFIERS [18:4]
    |   |   `--LITERAL_PUBLIC -> public [18:4]
    |   |--TYPE -> TYPE [18:11]
    |   |   `--LITERAL_VOID -> void [18:11]
    |   |--IDENT -> override [18:16]
    |   |--LPAREN -> ( [18:24]
    |   |--PARAMETERS -> PARAMETERS [18:25]
    |   |--RPAREN -> ) [18:25]
    |   `--SLIST -> { [18:27]
    |       `--RCURLY -> } [18:28]
    `--RCURLY -> } [19:0]
ENUM_DEF -> ENUM_DEF [20:0]
|--MODIFIERS -> MODIFIERS [20:0]
|--ENUM -> enum [20:0]
|--IDENT -> e1 [20:5]
`--OBJBLOCK -> OBJBLOCK [20:8]
    |--LCURLY -> { [20:8]
    |--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [21:4]
    |   |--ANNOTATIONS -> ANNOTATIONS [21:4]
    |   |--IDENT -> E1 [21:4]
    |   |--LPAREN -> ( [21:6]
    |   |--ELIST -> ELIST [21:7]
    |   `--RPAREN -> ) [21:7]
    |--COMMA -> , [21:8]
    |--SEMI -> ; [21:9]
    `--RCURLY -> } [22:0]
ENUM_DEF -> ENUM_DEF [23:0]
|--MODIFIERS -> MODIFIERS [23:0]
|--ENUM -> enum [23:0]
|--IDENT -> e2 [23:5]
`--OBJBLOCK -> OBJBLOCK [23:8]
    |--LCURLY -> { [23:8]
    |--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [24:4]
    |   |--ANNOTATIONS -> ANNOTATIONS [24:4]
    |   |--IDENT -> E1 [24:4]
    |   |--LPAREN -> ( [24:6]
    |   |--ELIST -> ELIST [24:7]
    |   `--RPAREN -> ) [24:7]
    |--SEMI -> ; [24:8]
    |--SEMI -> ; [24:9]
    `--RCURLY -> } [25:0]
