def __init__(self):

        GOCVisitor.__init__(self)
        self._stack = []

        # Mappings:

        self._scope = {
            "static": Scope.STATIC,
            "instance": Scope.INSTANCE
        }

        self._visi = {
            "public": Visibility.PUBLIC,
            "protected": Visibility.PROTECTED,
            "private": Visibility.PRIVATE
        }

        self._inheritance = {
            "final": MethodInheritance.FINAL,
            "virtual": MethodInheritance.VIRTUAL,
            "abstract": MethodInheritance.ABSTRACT
        }

        self._modifier = {
            "const": TypeModifier.CONST
        }

        self._simple_types = {
            "integer": INT,
            "unsigned integer": UNSIGNED_INT,
            "long": LONG,
            "unsigned long": UNSIGNED_LONG,
            "boolean": BOOL,
            "byte": BYTE,
            "string": STRING,
            "float": FLOAT,
            "double": DOUBLE,
            "pointer": POINTER
        }

        self._prop_types = {
            "boolean": PropType.BOOLEAN,
            "byte": PropType.BYTE,
            "integer": PropType.INTEGER,
            "float": PropType.FLOAT,
            "double": PropType.DOUBLE,
            "string": PropType.STRING,
            "pointer": PropType.POINTER,
            "object": PropType.OBJECT,
            "enumeration": PropType.ENUMERATION
        }

        self._prop_access = {
            "read-only": PropAccess.READ_ONLY,
            "initial-write": PropAccess.INITIAL_WRITE,
            "read-write": PropAccess.READ_WRITE
        }
    def __init__(self):

        GOCVisitor.__init__(self)
        self._stack = []