#! /usr/bin/env python

"""Non-terminal symbols of Python grammar (from "graminit.h")."""

#  This file is automatically generated; please don't muck it up!
#
#  To update the symbols in this file, 'cd' to the top directory of
#  the python source tree after building the interpreter and run:
#
#    python Lib/symbol.py

#--start constants--
single_input = 256
file_input = 257
eval_input = 258
decorator = 259
decorators = 260
decorated_thing = 261
funcdef = 262
parameters = 263
typedargslist = 264
tname = 265
tfpdef = 266
tfplist = 267
varargslist = 268
vname = 269
vfpdef = 270
vfplist = 271
stmt = 272
simple_stmt = 273
small_stmt = 274
expr_stmt = 275
augassign = 276
del_stmt = 277
pass_stmt = 278
flow_stmt = 279
break_stmt = 280
continue_stmt = 281
return_stmt = 282
yield_stmt = 283
raise_stmt = 284
import_stmt = 285
import_name = 286
import_from = 287
import_as_name = 288
dotted_as_name = 289
import_as_names = 290
dotted_as_names = 291
dotted_name = 292
global_stmt = 293
nonlocal_stmt = 294
assert_stmt = 295
compound_stmt = 296
if_stmt = 297
while_stmt = 298
for_stmt = 299
try_stmt = 300
with_stmt = 301
with_var = 302
except_clause = 303
suite = 304
testlist_safe = 305
old_test = 306
old_lambdef = 307
test = 308
or_test = 309
and_test = 310
not_test = 311
comparison = 312
comp_op = 313
expr = 314
xor_expr = 315
and_expr = 316
shift_expr = 317
arith_expr = 318
term = 319
factor = 320
power = 321
atom = 322
listmaker = 323
testlist_gexp = 324
lambdef = 325
trailer = 326
subscriptlist = 327
subscript = 328
sliceop = 329
exprlist = 330
testlist = 331
dictsetmaker = 332
classdef = 333
arglist = 334
argument = 335
list_iter = 336
list_for = 337
list_if = 338
gen_iter = 339
gen_for = 340
gen_if = 341
testlist1 = 342
encoding_decl = 343
yield_expr = 344
#--end constants--

sym_name = {}
for _name, _value in list(globals().items()):
    if type(_value) is type(0):
        sym_name[_value] = _name


def main():
    import sys
    import token
    if len(sys.argv) == 1:
        sys.argv = sys.argv + ["Include/graminit.h", "Lib/symbol.py"]
    token.main()

if __name__ == "__main__":
    main()
