# Copyright 2006 Google, Inc. All Rights Reserved.

# Licensed to PSF under a Contributor Agreement.



"""Export the Python grammar and symbols."""



# Python imports

import os



# Local imports

from .pgen2 import token

from .pgen2 import driver

from . import pytree



# The grammar file

_GRAMMAR_FILE = os.path.join(os.path.dirname(__file__), "Grammar.txt")





class Symbols(object):



    def __init__(self, grammar):

        """Initializer.



        Creates an attribute for each grammar symbol (nonterminal),

        whose value is the symbol's type (an int >= 256).

        """

        for name, symbol in grammar.symbol2number.iteritems():

            setattr(self, name, symbol)





python_grammar = driver.load_grammar(_GRAMMAR_FILE)

python_symbols = Symbols(python_grammar)

