| 1 | 
 | 
| 2 | from _devbuild.gen.id_kind_asdl import Id, Kind
 | 
| 3 | from _devbuild.gen.types_asdl import redir_arg_type_e, bool_arg_type_e
 | 
| 4 | 
 | 
| 5 | 
 | 
| 6 | BOOL_ARG_TYPES = {
 | 
| 7 |   Id.Op_DAmp: bool_arg_type_e.Undefined,
 | 
| 8 |   Id.Op_DPipe: bool_arg_type_e.Undefined,
 | 
| 9 |   Id.Op_Less: bool_arg_type_e.Str,
 | 
| 10 |   Id.Op_Great: bool_arg_type_e.Str,
 | 
| 11 |   Id.KW_Bang: bool_arg_type_e.Undefined,
 | 
| 12 |   Id.BoolUnary_z: bool_arg_type_e.Str,
 | 
| 13 |   Id.BoolUnary_n: bool_arg_type_e.Str,
 | 
| 14 |   Id.BoolUnary_o: bool_arg_type_e.Other,
 | 
| 15 |   Id.BoolUnary_t: bool_arg_type_e.Other,
 | 
| 16 |   Id.BoolUnary_v: bool_arg_type_e.Other,
 | 
| 17 |   Id.BoolUnary_R: bool_arg_type_e.Other,
 | 
| 18 |   Id.BoolUnary_a: bool_arg_type_e.Path,
 | 
| 19 |   Id.BoolUnary_b: bool_arg_type_e.Path,
 | 
| 20 |   Id.BoolUnary_c: bool_arg_type_e.Path,
 | 
| 21 |   Id.BoolUnary_d: bool_arg_type_e.Path,
 | 
| 22 |   Id.BoolUnary_e: bool_arg_type_e.Path,
 | 
| 23 |   Id.BoolUnary_f: bool_arg_type_e.Path,
 | 
| 24 |   Id.BoolUnary_g: bool_arg_type_e.Path,
 | 
| 25 |   Id.BoolUnary_h: bool_arg_type_e.Path,
 | 
| 26 |   Id.BoolUnary_k: bool_arg_type_e.Path,
 | 
| 27 |   Id.BoolUnary_L: bool_arg_type_e.Path,
 | 
| 28 |   Id.BoolUnary_p: bool_arg_type_e.Path,
 | 
| 29 |   Id.BoolUnary_r: bool_arg_type_e.Path,
 | 
| 30 |   Id.BoolUnary_s: bool_arg_type_e.Path,
 | 
| 31 |   Id.BoolUnary_S: bool_arg_type_e.Path,
 | 
| 32 |   Id.BoolUnary_u: bool_arg_type_e.Path,
 | 
| 33 |   Id.BoolUnary_w: bool_arg_type_e.Path,
 | 
| 34 |   Id.BoolUnary_x: bool_arg_type_e.Path,
 | 
| 35 |   Id.BoolUnary_O: bool_arg_type_e.Path,
 | 
| 36 |   Id.BoolUnary_G: bool_arg_type_e.Path,
 | 
| 37 |   Id.BoolUnary_N: bool_arg_type_e.Path,
 | 
| 38 |   Id.BoolBinary_GlobEqual: bool_arg_type_e.Str,
 | 
| 39 |   Id.BoolBinary_GlobDEqual: bool_arg_type_e.Str,
 | 
| 40 |   Id.BoolBinary_GlobNEqual: bool_arg_type_e.Str,
 | 
| 41 |   Id.BoolBinary_EqualTilde: bool_arg_type_e.Str,
 | 
| 42 |   Id.BoolBinary_ef: bool_arg_type_e.Path,
 | 
| 43 |   Id.BoolBinary_nt: bool_arg_type_e.Path,
 | 
| 44 |   Id.BoolBinary_ot: bool_arg_type_e.Path,
 | 
| 45 |   Id.BoolBinary_eq: bool_arg_type_e.Int,
 | 
| 46 |   Id.BoolBinary_ne: bool_arg_type_e.Int,
 | 
| 47 |   Id.BoolBinary_gt: bool_arg_type_e.Int,
 | 
| 48 |   Id.BoolBinary_ge: bool_arg_type_e.Int,
 | 
| 49 |   Id.BoolBinary_lt: bool_arg_type_e.Int,
 | 
| 50 |   Id.BoolBinary_le: bool_arg_type_e.Int,
 | 
| 51 |   Id.BoolBinary_Equal: bool_arg_type_e.Str,
 | 
| 52 |   Id.BoolBinary_DEqual: bool_arg_type_e.Str,
 | 
| 53 |   Id.BoolBinary_NEqual: bool_arg_type_e.Str,
 | 
| 54 | }
 | 
| 55 | 
 | 
| 56 | TEST_UNARY_LOOKUP = {
 | 
| 57 |   '-G': Id.BoolUnary_G,
 | 
| 58 |   '-L': Id.BoolUnary_L,
 | 
| 59 |   '-N': Id.BoolUnary_N,
 | 
| 60 |   '-O': Id.BoolUnary_O,
 | 
| 61 |   '-R': Id.BoolUnary_R,
 | 
| 62 |   '-S': Id.BoolUnary_S,
 | 
| 63 |   '-a': Id.BoolUnary_a,
 | 
| 64 |   '-b': Id.BoolUnary_b,
 | 
| 65 |   '-c': Id.BoolUnary_c,
 | 
| 66 |   '-d': Id.BoolUnary_d,
 | 
| 67 |   '-e': Id.BoolUnary_e,
 | 
| 68 |   '-f': Id.BoolUnary_f,
 | 
| 69 |   '-g': Id.BoolUnary_g,
 | 
| 70 |   '-h': Id.BoolUnary_h,
 | 
| 71 |   '-k': Id.BoolUnary_k,
 | 
| 72 |   '-n': Id.BoolUnary_n,
 | 
| 73 |   '-o': Id.BoolUnary_o,
 | 
| 74 |   '-p': Id.BoolUnary_p,
 | 
| 75 |   '-r': Id.BoolUnary_r,
 | 
| 76 |   '-s': Id.BoolUnary_s,
 | 
| 77 |   '-t': Id.BoolUnary_t,
 | 
| 78 |   '-u': Id.BoolUnary_u,
 | 
| 79 |   '-v': Id.BoolUnary_v,
 | 
| 80 |   '-w': Id.BoolUnary_w,
 | 
| 81 |   '-x': Id.BoolUnary_x,
 | 
| 82 |   '-z': Id.BoolUnary_z,
 | 
| 83 | }
 | 
| 84 | 
 | 
| 85 | TEST_BINARY_LOOKUP = {
 | 
| 86 |   '!=': Id.BoolBinary_NEqual,
 | 
| 87 |   '-ef': Id.BoolBinary_ef,
 | 
| 88 |   '-eq': Id.BoolBinary_eq,
 | 
| 89 |   '-ge': Id.BoolBinary_ge,
 | 
| 90 |   '-gt': Id.BoolBinary_gt,
 | 
| 91 |   '-le': Id.BoolBinary_le,
 | 
| 92 |   '-lt': Id.BoolBinary_lt,
 | 
| 93 |   '-ne': Id.BoolBinary_ne,
 | 
| 94 |   '-nt': Id.BoolBinary_nt,
 | 
| 95 |   '-ot': Id.BoolBinary_ot,
 | 
| 96 |   '<': Id.Op_Less,
 | 
| 97 |   '=': Id.BoolBinary_Equal,
 | 
| 98 |   '==': Id.BoolBinary_DEqual,
 | 
| 99 |   '>': Id.Op_Great,
 | 
| 100 | }
 | 
| 101 | 
 | 
| 102 | TEST_OTHER_LOOKUP = {
 | 
| 103 |   '!': Id.KW_Bang,
 | 
| 104 |   '(': Id.Op_LParen,
 | 
| 105 |   ')': Id.Op_RParen,
 | 
| 106 |   ']': Id.Arith_RBracket,
 | 
| 107 | }
 | 
| 108 | 
 | 
| 109 | ID_TO_KIND = {
 | 
| 110 |   Id.Word_Compound: Kind.Word,
 | 
| 111 |   Id.Arith_Semi: Kind.Arith,
 | 
| 112 |   Id.Arith_Comma: Kind.Arith,
 | 
| 113 |   Id.Arith_Plus: Kind.Arith,
 | 
| 114 |   Id.Arith_Minus: Kind.Arith,
 | 
| 115 |   Id.Arith_Star: Kind.Arith,
 | 
| 116 |   Id.Arith_Slash: Kind.Arith,
 | 
| 117 |   Id.Arith_Percent: Kind.Arith,
 | 
| 118 |   Id.Arith_DPlus: Kind.Arith,
 | 
| 119 |   Id.Arith_DMinus: Kind.Arith,
 | 
| 120 |   Id.Arith_DStar: Kind.Arith,
 | 
| 121 |   Id.Arith_LParen: Kind.Arith,
 | 
| 122 |   Id.Arith_RParen: Kind.Arith,
 | 
| 123 |   Id.Arith_LBracket: Kind.Arith,
 | 
| 124 |   Id.Arith_RBracket: Kind.Arith,
 | 
| 125 |   Id.Arith_RBrace: Kind.Arith,
 | 
| 126 |   Id.Arith_QMark: Kind.Arith,
 | 
| 127 |   Id.Arith_Colon: Kind.Arith,
 | 
| 128 |   Id.Arith_LessEqual: Kind.Arith,
 | 
| 129 |   Id.Arith_Less: Kind.Arith,
 | 
| 130 |   Id.Arith_GreatEqual: Kind.Arith,
 | 
| 131 |   Id.Arith_Great: Kind.Arith,
 | 
| 132 |   Id.Arith_DEqual: Kind.Arith,
 | 
| 133 |   Id.Arith_NEqual: Kind.Arith,
 | 
| 134 |   Id.Arith_DAmp: Kind.Arith,
 | 
| 135 |   Id.Arith_DPipe: Kind.Arith,
 | 
| 136 |   Id.Arith_Bang: Kind.Arith,
 | 
| 137 |   Id.Arith_DGreat: Kind.Arith,
 | 
| 138 |   Id.Arith_DLess: Kind.Arith,
 | 
| 139 |   Id.Arith_Amp: Kind.Arith,
 | 
| 140 |   Id.Arith_Pipe: Kind.Arith,
 | 
| 141 |   Id.Arith_Caret: Kind.Arith,
 | 
| 142 |   Id.Arith_Tilde: Kind.Arith,
 | 
| 143 |   Id.Arith_Equal: Kind.Arith,
 | 
| 144 |   Id.Arith_PlusEqual: Kind.Arith,
 | 
| 145 |   Id.Arith_MinusEqual: Kind.Arith,
 | 
| 146 |   Id.Arith_StarEqual: Kind.Arith,
 | 
| 147 |   Id.Arith_SlashEqual: Kind.Arith,
 | 
| 148 |   Id.Arith_PercentEqual: Kind.Arith,
 | 
| 149 |   Id.Arith_DGreatEqual: Kind.Arith,
 | 
| 150 |   Id.Arith_DLessEqual: Kind.Arith,
 | 
| 151 |   Id.Arith_AmpEqual: Kind.Arith,
 | 
| 152 |   Id.Arith_CaretEqual: Kind.Arith,
 | 
| 153 |   Id.Arith_PipeEqual: Kind.Arith,
 | 
| 154 |   Id.Eof_Real: Kind.Eof,
 | 
| 155 |   Id.Eof_RParen: Kind.Eof,
 | 
| 156 |   Id.Eof_Backtick: Kind.Eof,
 | 
| 157 |   Id.Undefined_Tok: Kind.Undefined,
 | 
| 158 |   Id.Unknown_Tok: Kind.Unknown,
 | 
| 159 |   Id.Unknown_Backslash: Kind.Unknown,
 | 
| 160 |   Id.Unknown_DEqual: Kind.Unknown,
 | 
| 161 |   Id.Eol_Tok: Kind.Eol,
 | 
| 162 |   Id.Ignored_LineCont: Kind.Ignored,
 | 
| 163 |   Id.Ignored_Space: Kind.Ignored,
 | 
| 164 |   Id.Ignored_Comment: Kind.Ignored,
 | 
| 165 |   Id.Ignored_Newline: Kind.Ignored,
 | 
| 166 |   Id.WS_Space: Kind.WS,
 | 
| 167 |   Id.Lit_Chars: Kind.Lit,
 | 
| 168 |   Id.Lit_CharsWithoutPrefix: Kind.Lit,
 | 
| 169 |   Id.Lit_VarLike: Kind.Lit,
 | 
| 170 |   Id.Lit_ArrayLhsOpen: Kind.Lit,
 | 
| 171 |   Id.Lit_ArrayLhsClose: Kind.Lit,
 | 
| 172 |   Id.Lit_Splice: Kind.Lit,
 | 
| 173 |   Id.Lit_AtLBracket: Kind.Lit,
 | 
| 174 |   Id.Lit_AtLBraceDot: Kind.Lit,
 | 
| 175 |   Id.Lit_Other: Kind.Lit,
 | 
| 176 |   Id.Lit_EscapedChar: Kind.Lit,
 | 
| 177 |   Id.Lit_LBracket: Kind.Lit,
 | 
| 178 |   Id.Lit_RBracket: Kind.Lit,
 | 
| 179 |   Id.Lit_Star: Kind.Lit,
 | 
| 180 |   Id.Lit_QMark: Kind.Lit,
 | 
| 181 |   Id.Lit_LBrace: Kind.Lit,
 | 
| 182 |   Id.Lit_RBrace: Kind.Lit,
 | 
| 183 |   Id.Lit_Comma: Kind.Lit,
 | 
| 184 |   Id.Lit_Equals: Kind.Lit,
 | 
| 185 |   Id.Lit_Dollar: Kind.Lit,
 | 
| 186 |   Id.Lit_DRightBracket: Kind.Lit,
 | 
| 187 |   Id.Lit_Tilde: Kind.Lit,
 | 
| 188 |   Id.Lit_Pound: Kind.Lit,
 | 
| 189 |   Id.Lit_TPound: Kind.Lit,
 | 
| 190 |   Id.Lit_TDot: Kind.Lit,
 | 
| 191 |   Id.Lit_Slash: Kind.Lit,
 | 
| 192 |   Id.Lit_Percent: Kind.Lit,
 | 
| 193 |   Id.Lit_Colon: Kind.Lit,
 | 
| 194 |   Id.Lit_Digits: Kind.Lit,
 | 
| 195 |   Id.Lit_At: Kind.Lit,
 | 
| 196 |   Id.Lit_ArithVarLike: Kind.Lit,
 | 
| 197 |   Id.Lit_BadBackslash: Kind.Lit,
 | 
| 198 |   Id.Lit_CompDummy: Kind.Lit,
 | 
| 199 |   Id.Backtick_Right: Kind.Backtick,
 | 
| 200 |   Id.Backtick_Quoted: Kind.Backtick,
 | 
| 201 |   Id.Backtick_DoubleQuote: Kind.Backtick,
 | 
| 202 |   Id.Backtick_Other: Kind.Backtick,
 | 
| 203 |   Id.History_Op: Kind.History,
 | 
| 204 |   Id.History_Num: Kind.History,
 | 
| 205 |   Id.History_Search: Kind.History,
 | 
| 206 |   Id.History_Other: Kind.History,
 | 
| 207 |   Id.Op_Newline: Kind.Op,
 | 
| 208 |   Id.Op_Amp: Kind.Op,
 | 
| 209 |   Id.Op_Pipe: Kind.Op,
 | 
| 210 |   Id.Op_PipeAmp: Kind.Op,
 | 
| 211 |   Id.Op_DAmp: Kind.Op,
 | 
| 212 |   Id.Op_DPipe: Kind.Op,
 | 
| 213 |   Id.Op_Semi: Kind.Op,
 | 
| 214 |   Id.Op_DSemi: Kind.Op,
 | 
| 215 |   Id.Op_SemiAmp: Kind.Op,
 | 
| 216 |   Id.Op_DSemiAmp: Kind.Op,
 | 
| 217 |   Id.Op_LParen: Kind.Op,
 | 
| 218 |   Id.Op_RParen: Kind.Op,
 | 
| 219 |   Id.Op_DLeftParen: Kind.Op,
 | 
| 220 |   Id.Op_DRightParen: Kind.Op,
 | 
| 221 |   Id.Op_Less: Kind.Op,
 | 
| 222 |   Id.Op_Great: Kind.Op,
 | 
| 223 |   Id.Op_Bang: Kind.Op,
 | 
| 224 |   Id.Op_LBracket: Kind.Op,
 | 
| 225 |   Id.Op_RBracket: Kind.Op,
 | 
| 226 |   Id.Op_LBrace: Kind.Op,
 | 
| 227 |   Id.Op_RBrace: Kind.Op,
 | 
| 228 |   Id.Expr_Reserved: Kind.Expr,
 | 
| 229 |   Id.Expr_Symbol: Kind.Expr,
 | 
| 230 |   Id.Expr_Name: Kind.Expr,
 | 
| 231 |   Id.Expr_DecInt: Kind.Expr,
 | 
| 232 |   Id.Expr_BinInt: Kind.Expr,
 | 
| 233 |   Id.Expr_OctInt: Kind.Expr,
 | 
| 234 |   Id.Expr_HexInt: Kind.Expr,
 | 
| 235 |   Id.Expr_Float: Kind.Expr,
 | 
| 236 |   Id.Expr_Bang: Kind.Expr,
 | 
| 237 |   Id.Expr_Dot: Kind.Expr,
 | 
| 238 |   Id.Expr_DDot: Kind.Expr,
 | 
| 239 |   Id.Expr_Colon: Kind.Expr,
 | 
| 240 |   Id.Expr_RArrow: Kind.Expr,
 | 
| 241 |   Id.Expr_RDArrow: Kind.Expr,
 | 
| 242 |   Id.Expr_DSlash: Kind.Expr,
 | 
| 243 |   Id.Expr_TEqual: Kind.Expr,
 | 
| 244 |   Id.Expr_NotDEqual: Kind.Expr,
 | 
| 245 |   Id.Expr_TildeDEqual: Kind.Expr,
 | 
| 246 |   Id.Expr_At: Kind.Expr,
 | 
| 247 |   Id.Expr_DoubleAt: Kind.Expr,
 | 
| 248 |   Id.Expr_Ellipsis: Kind.Expr,
 | 
| 249 |   Id.Expr_Dollar: Kind.Expr,
 | 
| 250 |   Id.Expr_NotTilde: Kind.Expr,
 | 
| 251 |   Id.Expr_DTilde: Kind.Expr,
 | 
| 252 |   Id.Expr_NotDTilde: Kind.Expr,
 | 
| 253 |   Id.Expr_DStarEqual: Kind.Expr,
 | 
| 254 |   Id.Expr_DSlashEqual: Kind.Expr,
 | 
| 255 |   Id.Expr_CastedDummy: Kind.Expr,
 | 
| 256 |   Id.Expr_Null: Kind.Expr,
 | 
| 257 |   Id.Expr_True: Kind.Expr,
 | 
| 258 |   Id.Expr_False: Kind.Expr,
 | 
| 259 |   Id.Expr_And: Kind.Expr,
 | 
| 260 |   Id.Expr_Or: Kind.Expr,
 | 
| 261 |   Id.Expr_Not: Kind.Expr,
 | 
| 262 |   Id.Expr_For: Kind.Expr,
 | 
| 263 |   Id.Expr_Is: Kind.Expr,
 | 
| 264 |   Id.Expr_In: Kind.Expr,
 | 
| 265 |   Id.Expr_If: Kind.Expr,
 | 
| 266 |   Id.Expr_Else: Kind.Expr,
 | 
| 267 |   Id.Expr_Func: Kind.Expr,
 | 
| 268 |   Id.Expr_Capture: Kind.Expr,
 | 
| 269 |   Id.Expr_As: Kind.Expr,
 | 
| 270 |   Id.Char_OneChar: Kind.Char,
 | 
| 271 |   Id.Char_Stop: Kind.Char,
 | 
| 272 |   Id.Char_Hex: Kind.Char,
 | 
| 273 |   Id.Char_YHex: Kind.Char,
 | 
| 274 |   Id.Char_Octal3: Kind.Char,
 | 
| 275 |   Id.Char_Octal4: Kind.Char,
 | 
| 276 |   Id.Char_Unicode4: Kind.Char,
 | 
| 277 |   Id.Char_SurrogatePair: Kind.Char,
 | 
| 278 |   Id.Char_Unicode8: Kind.Char,
 | 
| 279 |   Id.Char_UBraced: Kind.Char,
 | 
| 280 |   Id.Char_Pound: Kind.Char,
 | 
| 281 |   Id.Char_AsciiControl: Kind.Char,
 | 
| 282 |   Id.BashRegex_LParen: Kind.BashRegex,
 | 
| 283 |   Id.BashRegex_AllowedInParens: Kind.BashRegex,
 | 
| 284 |   Id.Eggex_Start: Kind.Eggex,
 | 
| 285 |   Id.Eggex_End: Kind.Eggex,
 | 
| 286 |   Id.Eggex_Dot: Kind.Eggex,
 | 
| 287 |   Id.Redir_Less: Kind.Redir,
 | 
| 288 |   Id.Redir_Great: Kind.Redir,
 | 
| 289 |   Id.Redir_DLess: Kind.Redir,
 | 
| 290 |   Id.Redir_TLess: Kind.Redir,
 | 
| 291 |   Id.Redir_DGreat: Kind.Redir,
 | 
| 292 |   Id.Redir_GreatAnd: Kind.Redir,
 | 
| 293 |   Id.Redir_LessAnd: Kind.Redir,
 | 
| 294 |   Id.Redir_DLessDash: Kind.Redir,
 | 
| 295 |   Id.Redir_LessGreat: Kind.Redir,
 | 
| 296 |   Id.Redir_Clobber: Kind.Redir,
 | 
| 297 |   Id.Redir_AndGreat: Kind.Redir,
 | 
| 298 |   Id.Redir_AndDGreat: Kind.Redir,
 | 
| 299 |   Id.Left_DoubleQuote: Kind.Left,
 | 
| 300 |   Id.Left_JDoubleQuote: Kind.Left,
 | 
| 301 |   Id.Left_SingleQuote: Kind.Left,
 | 
| 302 |   Id.Left_DollarSingleQuote: Kind.Left,
 | 
| 303 |   Id.Left_RSingleQuote: Kind.Left,
 | 
| 304 |   Id.Left_USingleQuote: Kind.Left,
 | 
| 305 |   Id.Left_BSingleQuote: Kind.Left,
 | 
| 306 |   Id.Left_TDoubleQuote: Kind.Left,
 | 
| 307 |   Id.Left_DollarTDoubleQuote: Kind.Left,
 | 
| 308 |   Id.Left_TSingleQuote: Kind.Left,
 | 
| 309 |   Id.Left_RTSingleQuote: Kind.Left,
 | 
| 310 |   Id.Left_UTSingleQuote: Kind.Left,
 | 
| 311 |   Id.Left_BTSingleQuote: Kind.Left,
 | 
| 312 |   Id.Left_Backtick: Kind.Left,
 | 
| 313 |   Id.Left_DollarParen: Kind.Left,
 | 
| 314 |   Id.Left_DollarBrace: Kind.Left,
 | 
| 315 |   Id.Left_DollarBraceZsh: Kind.Left,
 | 
| 316 |   Id.Left_DollarDParen: Kind.Left,
 | 
| 317 |   Id.Left_DollarBracket: Kind.Left,
 | 
| 318 |   Id.Left_DollarDoubleQuote: Kind.Left,
 | 
| 319 |   Id.Left_ProcSubIn: Kind.Left,
 | 
| 320 |   Id.Left_ProcSubOut: Kind.Left,
 | 
| 321 |   Id.Left_AtParen: Kind.Left,
 | 
| 322 |   Id.Left_CaretParen: Kind.Left,
 | 
| 323 |   Id.Left_CaretBracket: Kind.Left,
 | 
| 324 |   Id.Left_CaretBrace: Kind.Left,
 | 
| 325 |   Id.Left_CaretDoubleQuote: Kind.Left,
 | 
| 326 |   Id.Left_ColonPipe: Kind.Left,
 | 
| 327 |   Id.Left_PercentParen: Kind.Left,
 | 
| 328 |   Id.Right_DoubleQuote: Kind.Right,
 | 
| 329 |   Id.Right_SingleQuote: Kind.Right,
 | 
| 330 |   Id.Right_Backtick: Kind.Right,
 | 
| 331 |   Id.Right_DollarBrace: Kind.Right,
 | 
| 332 |   Id.Right_DollarDParen: Kind.Right,
 | 
| 333 |   Id.Right_DollarDoubleQuote: Kind.Right,
 | 
| 334 |   Id.Right_DollarSingleQuote: Kind.Right,
 | 
| 335 |   Id.Right_Subshell: Kind.Right,
 | 
| 336 |   Id.Right_ShFunction: Kind.Right,
 | 
| 337 |   Id.Right_CasePat: Kind.Right,
 | 
| 338 |   Id.Right_ShArrayLiteral: Kind.Right,
 | 
| 339 |   Id.Right_ExtGlob: Kind.Right,
 | 
| 340 |   Id.Right_BashRegexGroup: Kind.Right,
 | 
| 341 |   Id.Right_BlockLiteral: Kind.Right,
 | 
| 342 |   Id.ExtGlob_Comma: Kind.ExtGlob,
 | 
| 343 |   Id.ExtGlob_At: Kind.ExtGlob,
 | 
| 344 |   Id.ExtGlob_Star: Kind.ExtGlob,
 | 
| 345 |   Id.ExtGlob_Plus: Kind.ExtGlob,
 | 
| 346 |   Id.ExtGlob_QMark: Kind.ExtGlob,
 | 
| 347 |   Id.ExtGlob_Bang: Kind.ExtGlob,
 | 
| 348 |   Id.VSub_DollarName: Kind.VSub,
 | 
| 349 |   Id.VSub_Name: Kind.VSub,
 | 
| 350 |   Id.VSub_Number: Kind.VSub,
 | 
| 351 |   Id.VSub_Bang: Kind.VSub,
 | 
| 352 |   Id.VSub_At: Kind.VSub,
 | 
| 353 |   Id.VSub_Pound: Kind.VSub,
 | 
| 354 |   Id.VSub_Dollar: Kind.VSub,
 | 
| 355 |   Id.VSub_Star: Kind.VSub,
 | 
| 356 |   Id.VSub_Hyphen: Kind.VSub,
 | 
| 357 |   Id.VSub_QMark: Kind.VSub,
 | 
| 358 |   Id.VSub_Dot: Kind.VSub,
 | 
| 359 |   Id.VTest_ColonHyphen: Kind.VTest,
 | 
| 360 |   Id.VTest_Hyphen: Kind.VTest,
 | 
| 361 |   Id.VTest_ColonEquals: Kind.VTest,
 | 
| 362 |   Id.VTest_Equals: Kind.VTest,
 | 
| 363 |   Id.VTest_ColonQMark: Kind.VTest,
 | 
| 364 |   Id.VTest_QMark: Kind.VTest,
 | 
| 365 |   Id.VTest_ColonPlus: Kind.VTest,
 | 
| 366 |   Id.VTest_Plus: Kind.VTest,
 | 
| 367 |   Id.VOp0_Q: Kind.VOp0,
 | 
| 368 |   Id.VOp0_E: Kind.VOp0,
 | 
| 369 |   Id.VOp0_P: Kind.VOp0,
 | 
| 370 |   Id.VOp0_A: Kind.VOp0,
 | 
| 371 |   Id.VOp0_a: Kind.VOp0,
 | 
| 372 |   Id.VOp1_Percent: Kind.VOp1,
 | 
| 373 |   Id.VOp1_DPercent: Kind.VOp1,
 | 
| 374 |   Id.VOp1_Pound: Kind.VOp1,
 | 
| 375 |   Id.VOp1_DPound: Kind.VOp1,
 | 
| 376 |   Id.VOp1_Caret: Kind.VOp1,
 | 
| 377 |   Id.VOp1_DCaret: Kind.VOp1,
 | 
| 378 |   Id.VOp1_Comma: Kind.VOp1,
 | 
| 379 |   Id.VOp1_DComma: Kind.VOp1,
 | 
| 380 |   Id.VOpYsh_Pipe: Kind.VOpYsh,
 | 
| 381 |   Id.VOpYsh_Space: Kind.VOpYsh,
 | 
| 382 |   Id.VOp2_Slash: Kind.VOp2,
 | 
| 383 |   Id.VOp2_Colon: Kind.VOp2,
 | 
| 384 |   Id.VOp2_LBracket: Kind.VOp2,
 | 
| 385 |   Id.VOp2_RBracket: Kind.VOp2,
 | 
| 386 |   Id.VOp3_At: Kind.VOp3,
 | 
| 387 |   Id.VOp3_Star: Kind.VOp3,
 | 
| 388 |   Id.Node_PostDPlus: Kind.Node,
 | 
| 389 |   Id.Node_PostDMinus: Kind.Node,
 | 
| 390 |   Id.Node_UnaryPlus: Kind.Node,
 | 
| 391 |   Id.Node_UnaryMinus: Kind.Node,
 | 
| 392 |   Id.Node_NotIn: Kind.Node,
 | 
| 393 |   Id.Node_IsNot: Kind.Node,
 | 
| 394 |   Id.KW_DLeftBracket: Kind.KW,
 | 
| 395 |   Id.KW_Bang: Kind.KW,
 | 
| 396 |   Id.KW_For: Kind.KW,
 | 
| 397 |   Id.KW_While: Kind.KW,
 | 
| 398 |   Id.KW_Until: Kind.KW,
 | 
| 399 |   Id.KW_Do: Kind.KW,
 | 
| 400 |   Id.KW_Done: Kind.KW,
 | 
| 401 |   Id.KW_In: Kind.KW,
 | 
| 402 |   Id.KW_Case: Kind.KW,
 | 
| 403 |   Id.KW_Esac: Kind.KW,
 | 
| 404 |   Id.KW_If: Kind.KW,
 | 
| 405 |   Id.KW_Fi: Kind.KW,
 | 
| 406 |   Id.KW_Then: Kind.KW,
 | 
| 407 |   Id.KW_Else: Kind.KW,
 | 
| 408 |   Id.KW_Elif: Kind.KW,
 | 
| 409 |   Id.KW_Function: Kind.KW,
 | 
| 410 |   Id.KW_Time: Kind.KW,
 | 
| 411 |   Id.KW_Const: Kind.KW,
 | 
| 412 |   Id.KW_Var: Kind.KW,
 | 
| 413 |   Id.KW_SetVar: Kind.KW,
 | 
| 414 |   Id.KW_SetGlobal: Kind.KW,
 | 
| 415 |   Id.KW_Call: Kind.KW,
 | 
| 416 |   Id.KW_Proc: Kind.KW,
 | 
| 417 |   Id.KW_Typed: Kind.KW,
 | 
| 418 |   Id.KW_Func: Kind.KW,
 | 
| 419 |   Id.ControlFlow_Break: Kind.ControlFlow,
 | 
| 420 |   Id.ControlFlow_Continue: Kind.ControlFlow,
 | 
| 421 |   Id.ControlFlow_Return: Kind.ControlFlow,
 | 
| 422 |   Id.ControlFlow_Exit: Kind.ControlFlow,
 | 
| 423 |   Id.LookAhead_FuncParens: Kind.LookAhead,
 | 
| 424 |   Id.Glob_LBracket: Kind.Glob,
 | 
| 425 |   Id.Glob_RBracket: Kind.Glob,
 | 
| 426 |   Id.Glob_Star: Kind.Glob,
 | 
| 427 |   Id.Glob_QMark: Kind.Glob,
 | 
| 428 |   Id.Glob_Bang: Kind.Glob,
 | 
| 429 |   Id.Glob_Caret: Kind.Glob,
 | 
| 430 |   Id.Glob_EscapedChar: Kind.Glob,
 | 
| 431 |   Id.Glob_BadBackslash: Kind.Glob,
 | 
| 432 |   Id.Glob_CleanLiterals: Kind.Glob,
 | 
| 433 |   Id.Glob_OtherLiteral: Kind.Glob,
 | 
| 434 |   Id.Format_EscapedPercent: Kind.Format,
 | 
| 435 |   Id.Format_Percent: Kind.Format,
 | 
| 436 |   Id.Format_Flag: Kind.Format,
 | 
| 437 |   Id.Format_Num: Kind.Format,
 | 
| 438 |   Id.Format_Dot: Kind.Format,
 | 
| 439 |   Id.Format_Type: Kind.Format,
 | 
| 440 |   Id.Format_Star: Kind.Format,
 | 
| 441 |   Id.Format_Time: Kind.Format,
 | 
| 442 |   Id.Format_Zero: Kind.Format,
 | 
| 443 |   Id.PS_Subst: Kind.PS,
 | 
| 444 |   Id.PS_Octal3: Kind.PS,
 | 
| 445 |   Id.PS_LBrace: Kind.PS,
 | 
| 446 |   Id.PS_RBrace: Kind.PS,
 | 
| 447 |   Id.PS_Literals: Kind.PS,
 | 
| 448 |   Id.PS_BadBackslash: Kind.PS,
 | 
| 449 |   Id.Range_Int: Kind.Range,
 | 
| 450 |   Id.Range_Char: Kind.Range,
 | 
| 451 |   Id.Range_Dots: Kind.Range,
 | 
| 452 |   Id.Range_Other: Kind.Range,
 | 
| 453 |   Id.J8_LBracket: Kind.J8,
 | 
| 454 |   Id.J8_RBracket: Kind.J8,
 | 
| 455 |   Id.J8_LBrace: Kind.J8,
 | 
| 456 |   Id.J8_RBrace: Kind.J8,
 | 
| 457 |   Id.J8_Comma: Kind.J8,
 | 
| 458 |   Id.J8_Colon: Kind.J8,
 | 
| 459 |   Id.J8_Null: Kind.J8,
 | 
| 460 |   Id.J8_Bool: Kind.J8,
 | 
| 461 |   Id.J8_Int: Kind.J8,
 | 
| 462 |   Id.J8_Float: Kind.J8,
 | 
| 463 |   Id.J8_String: Kind.J8,
 | 
| 464 |   Id.J8_Identifier: Kind.J8,
 | 
| 465 |   Id.J8_Newline: Kind.J8,
 | 
| 466 |   Id.J8_Tab: Kind.J8,
 | 
| 467 |   Id.J8_LParen: Kind.J8,
 | 
| 468 |   Id.J8_RParen: Kind.J8,
 | 
| 469 |   Id.J8_Operator: Kind.J8,
 | 
| 470 |   Id.BoolUnary_z: Kind.BoolUnary,
 | 
| 471 |   Id.BoolUnary_n: Kind.BoolUnary,
 | 
| 472 |   Id.BoolUnary_o: Kind.BoolUnary,
 | 
| 473 |   Id.BoolUnary_t: Kind.BoolUnary,
 | 
| 474 |   Id.BoolUnary_v: Kind.BoolUnary,
 | 
| 475 |   Id.BoolUnary_R: Kind.BoolUnary,
 | 
| 476 |   Id.BoolUnary_a: Kind.BoolUnary,
 | 
| 477 |   Id.BoolUnary_b: Kind.BoolUnary,
 | 
| 478 |   Id.BoolUnary_c: Kind.BoolUnary,
 | 
| 479 |   Id.BoolUnary_d: Kind.BoolUnary,
 | 
| 480 |   Id.BoolUnary_e: Kind.BoolUnary,
 | 
| 481 |   Id.BoolUnary_f: Kind.BoolUnary,
 | 
| 482 |   Id.BoolUnary_g: Kind.BoolUnary,
 | 
| 483 |   Id.BoolUnary_h: Kind.BoolUnary,
 | 
| 484 |   Id.BoolUnary_k: Kind.BoolUnary,
 | 
| 485 |   Id.BoolUnary_L: Kind.BoolUnary,
 | 
| 486 |   Id.BoolUnary_p: Kind.BoolUnary,
 | 
| 487 |   Id.BoolUnary_r: Kind.BoolUnary,
 | 
| 488 |   Id.BoolUnary_s: Kind.BoolUnary,
 | 
| 489 |   Id.BoolUnary_S: Kind.BoolUnary,
 | 
| 490 |   Id.BoolUnary_u: Kind.BoolUnary,
 | 
| 491 |   Id.BoolUnary_w: Kind.BoolUnary,
 | 
| 492 |   Id.BoolUnary_x: Kind.BoolUnary,
 | 
| 493 |   Id.BoolUnary_O: Kind.BoolUnary,
 | 
| 494 |   Id.BoolUnary_G: Kind.BoolUnary,
 | 
| 495 |   Id.BoolUnary_N: Kind.BoolUnary,
 | 
| 496 |   Id.BoolBinary_GlobEqual: Kind.BoolBinary,
 | 
| 497 |   Id.BoolBinary_GlobDEqual: Kind.BoolBinary,
 | 
| 498 |   Id.BoolBinary_GlobNEqual: Kind.BoolBinary,
 | 
| 499 |   Id.BoolBinary_EqualTilde: Kind.BoolBinary,
 | 
| 500 |   Id.BoolBinary_ef: Kind.BoolBinary,
 | 
| 501 |   Id.BoolBinary_nt: Kind.BoolBinary,
 | 
| 502 |   Id.BoolBinary_ot: Kind.BoolBinary,
 | 
| 503 |   Id.BoolBinary_eq: Kind.BoolBinary,
 | 
| 504 |   Id.BoolBinary_ne: Kind.BoolBinary,
 | 
| 505 |   Id.BoolBinary_gt: Kind.BoolBinary,
 | 
| 506 |   Id.BoolBinary_ge: Kind.BoolBinary,
 | 
| 507 |   Id.BoolBinary_lt: Kind.BoolBinary,
 | 
| 508 |   Id.BoolBinary_le: Kind.BoolBinary,
 | 
| 509 |   Id.BoolBinary_Equal: Kind.BoolBinary,
 | 
| 510 |   Id.BoolBinary_DEqual: Kind.BoolBinary,
 | 
| 511 |   Id.BoolBinary_NEqual: Kind.BoolBinary,
 | 
| 512 | }
 |