# Generated from C.g4 by ANTLR 4.9
from antlr4 import *
if __name__ is not None and "." in __name__:
    from .CParser import CParser
else:
    from CParser import CParser


## @file
# The file defines the parser for C source files.
#
# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
# This file is generated by running:
# java org.antlr.Tool C.g
#
# Copyright (c) 2009 - 2010, Intel Corporation  All rights reserved.
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

import Eot.CodeFragment as CodeFragment
import Eot.FileProfile as FileProfile


# This class defines a complete listener for a parse tree produced by CParser.
class CListener(ParseTreeListener):

    # Enter a parse tree produced by CParser#translation_unit.
    def enterTranslation_unit(self, ctx:CParser.Translation_unitContext):
        pass

    # Exit a parse tree produced by CParser#translation_unit.
    def exitTranslation_unit(self, ctx:CParser.Translation_unitContext):
        pass


    # Enter a parse tree produced by CParser#external_declaration.
    def enterExternal_declaration(self, ctx:CParser.External_declarationContext):
        pass

    # Exit a parse tree produced by CParser#external_declaration.
    def exitExternal_declaration(self, ctx:CParser.External_declarationContext):
        pass


    # Enter a parse tree produced by CParser#function_definition.
    def enterFunction_definition(self, ctx:CParser.Function_definitionContext):
        pass

    # Exit a parse tree produced by CParser#function_definition.
    def exitFunction_definition(self, ctx:CParser.Function_definitionContext):
        pass


    # Enter a parse tree produced by CParser#declaration_specifiers.
    def enterDeclaration_specifiers(self, ctx:CParser.Declaration_specifiersContext):
        pass

    # Exit a parse tree produced by CParser#declaration_specifiers.
    def exitDeclaration_specifiers(self, ctx:CParser.Declaration_specifiersContext):
        pass


    # Enter a parse tree produced by CParser#declaration.
    def enterDeclaration(self, ctx:CParser.DeclarationContext):
        pass

    # Exit a parse tree produced by CParser#declaration.
    def exitDeclaration(self, ctx:CParser.DeclarationContext):
        pass


    # Enter a parse tree produced by CParser#init_declarator_list.
    def enterInit_declarator_list(self, ctx:CParser.Init_declarator_listContext):
        pass

    # Exit a parse tree produced by CParser#init_declarator_list.
    def exitInit_declarator_list(self, ctx:CParser.Init_declarator_listContext):
        pass


    # Enter a parse tree produced by CParser#init_declarator.
    def enterInit_declarator(self, ctx:CParser.Init_declaratorContext):
        pass

    # Exit a parse tree produced by CParser#init_declarator.
    def exitInit_declarator(self, ctx:CParser.Init_declaratorContext):
        pass


    # Enter a parse tree produced by CParser#storage_class_specifier.
    def enterStorage_class_specifier(self, ctx:CParser.Storage_class_specifierContext):
        pass

    # Exit a parse tree produced by CParser#storage_class_specifier.
    def exitStorage_class_specifier(self, ctx:CParser.Storage_class_specifierContext):
        pass


    # Enter a parse tree produced by CParser#type_specifier.
    def enterType_specifier(self, ctx:CParser.Type_specifierContext):
        pass

    # Exit a parse tree produced by CParser#type_specifier.
    def exitType_specifier(self, ctx:CParser.Type_specifierContext):
        pass


    # Enter a parse tree produced by CParser#type_id.
    def enterType_id(self, ctx:CParser.Type_idContext):
        pass

    # Exit a parse tree produced by CParser#type_id.
    def exitType_id(self, ctx:CParser.Type_idContext):
        pass


    # Enter a parse tree produced by CParser#struct_or_union_specifier.
    def enterStruct_or_union_specifier(self, ctx:CParser.Struct_or_union_specifierContext):
        pass

    # Exit a parse tree produced by CParser#struct_or_union_specifier.
    def exitStruct_or_union_specifier(self, ctx:CParser.Struct_or_union_specifierContext):
        pass


    # Enter a parse tree produced by CParser#struct_or_union.
    def enterStruct_or_union(self, ctx:CParser.Struct_or_unionContext):
        pass

    # Exit a parse tree produced by CParser#struct_or_union.
    def exitStruct_or_union(self, ctx:CParser.Struct_or_unionContext):
        pass


    # Enter a parse tree produced by CParser#struct_declaration_list.
    def enterStruct_declaration_list(self, ctx:CParser.Struct_declaration_listContext):
        pass

    # Exit a parse tree produced by CParser#struct_declaration_list.
    def exitStruct_declaration_list(self, ctx:CParser.Struct_declaration_listContext):
        pass


    # Enter a parse tree produced by CParser#struct_declaration.
    def enterStruct_declaration(self, ctx:CParser.Struct_declarationContext):
        pass

    # Exit a parse tree produced by CParser#struct_declaration.
    def exitStruct_declaration(self, ctx:CParser.Struct_declarationContext):
        pass


    # Enter a parse tree produced by CParser#specifier_qualifier_list.
    def enterSpecifier_qualifier_list(self, ctx:CParser.Specifier_qualifier_listContext):
        pass

    # Exit a parse tree produced by CParser#specifier_qualifier_list.
    def exitSpecifier_qualifier_list(self, ctx:CParser.Specifier_qualifier_listContext):
        pass


    # Enter a parse tree produced by CParser#struct_declarator_list.
    def enterStruct_declarator_list(self, ctx:CParser.Struct_declarator_listContext):
        pass

    # Exit a parse tree produced by CParser#struct_declarator_list.
    def exitStruct_declarator_list(self, ctx:CParser.Struct_declarator_listContext):
        pass


    # Enter a parse tree produced by CParser#struct_declarator.
    def enterStruct_declarator(self, ctx:CParser.Struct_declaratorContext):
        pass

    # Exit a parse tree produced by CParser#struct_declarator.
    def exitStruct_declarator(self, ctx:CParser.Struct_declaratorContext):
        pass


    # Enter a parse tree produced by CParser#enum_specifier.
    def enterEnum_specifier(self, ctx:CParser.Enum_specifierContext):
        pass

    # Exit a parse tree produced by CParser#enum_specifier.
    def exitEnum_specifier(self, ctx:CParser.Enum_specifierContext):
        pass


    # Enter a parse tree produced by CParser#enumerator_list.
    def enterEnumerator_list(self, ctx:CParser.Enumerator_listContext):
        pass

    # Exit a parse tree produced by CParser#enumerator_list.
    def exitEnumerator_list(self, ctx:CParser.Enumerator_listContext):
        pass


    # Enter a parse tree produced by CParser#enumerator.
    def enterEnumerator(self, ctx:CParser.EnumeratorContext):
        pass

    # Exit a parse tree produced by CParser#enumerator.
    def exitEnumerator(self, ctx:CParser.EnumeratorContext):
        pass


    # Enter a parse tree produced by CParser#type_qualifier.
    def enterType_qualifier(self, ctx:CParser.Type_qualifierContext):
        pass

    # Exit a parse tree produced by CParser#type_qualifier.
    def exitType_qualifier(self, ctx:CParser.Type_qualifierContext):
        pass


    # Enter a parse tree produced by CParser#declarator.
    def enterDeclarator(self, ctx:CParser.DeclaratorContext):
        pass

    # Exit a parse tree produced by CParser#declarator.
    def exitDeclarator(self, ctx:CParser.DeclaratorContext):
        pass


    # Enter a parse tree produced by CParser#direct_declarator.
    def enterDirect_declarator(self, ctx:CParser.Direct_declaratorContext):
        pass

    # Exit a parse tree produced by CParser#direct_declarator.
    def exitDirect_declarator(self, ctx:CParser.Direct_declaratorContext):
        pass


    # Enter a parse tree produced by CParser#declarator_suffix.
    def enterDeclarator_suffix(self, ctx:CParser.Declarator_suffixContext):
        pass

    # Exit a parse tree produced by CParser#declarator_suffix.
    def exitDeclarator_suffix(self, ctx:CParser.Declarator_suffixContext):
        pass


    # Enter a parse tree produced by CParser#pointer.
    def enterPointer(self, ctx:CParser.PointerContext):
        pass

    # Exit a parse tree produced by CParser#pointer.
    def exitPointer(self, ctx:CParser.PointerContext):
        pass


    # Enter a parse tree produced by CParser#parameter_type_list.
    def enterParameter_type_list(self, ctx:CParser.Parameter_type_listContext):
        pass

    # Exit a parse tree produced by CParser#parameter_type_list.
    def exitParameter_type_list(self, ctx:CParser.Parameter_type_listContext):
        pass


    # Enter a parse tree produced by CParser#parameter_list.
    def enterParameter_list(self, ctx:CParser.Parameter_listContext):
        pass

    # Exit a parse tree produced by CParser#parameter_list.
    def exitParameter_list(self, ctx:CParser.Parameter_listContext):
        pass


    # Enter a parse tree produced by CParser#parameter_declaration.
    def enterParameter_declaration(self, ctx:CParser.Parameter_declarationContext):
        pass

    # Exit a parse tree produced by CParser#parameter_declaration.
    def exitParameter_declaration(self, ctx:CParser.Parameter_declarationContext):
        pass


    # Enter a parse tree produced by CParser#identifier_list.
    def enterIdentifier_list(self, ctx:CParser.Identifier_listContext):
        pass

    # Exit a parse tree produced by CParser#identifier_list.
    def exitIdentifier_list(self, ctx:CParser.Identifier_listContext):
        pass


    # Enter a parse tree produced by CParser#type_name.
    def enterType_name(self, ctx:CParser.Type_nameContext):
        pass

    # Exit a parse tree produced by CParser#type_name.
    def exitType_name(self, ctx:CParser.Type_nameContext):
        pass


    # Enter a parse tree produced by CParser#abstract_declarator.
    def enterAbstract_declarator(self, ctx:CParser.Abstract_declaratorContext):
        pass

    # Exit a parse tree produced by CParser#abstract_declarator.
    def exitAbstract_declarator(self, ctx:CParser.Abstract_declaratorContext):
        pass


    # Enter a parse tree produced by CParser#direct_abstract_declarator.
    def enterDirect_abstract_declarator(self, ctx:CParser.Direct_abstract_declaratorContext):
        pass

    # Exit a parse tree produced by CParser#direct_abstract_declarator.
    def exitDirect_abstract_declarator(self, ctx:CParser.Direct_abstract_declaratorContext):
        pass


    # Enter a parse tree produced by CParser#abstract_declarator_suffix.
    def enterAbstract_declarator_suffix(self, ctx:CParser.Abstract_declarator_suffixContext):
        pass

    # Exit a parse tree produced by CParser#abstract_declarator_suffix.
    def exitAbstract_declarator_suffix(self, ctx:CParser.Abstract_declarator_suffixContext):
        pass


    # Enter a parse tree produced by CParser#initializer.
    def enterInitializer(self, ctx:CParser.InitializerContext):
        pass

    # Exit a parse tree produced by CParser#initializer.
    def exitInitializer(self, ctx:CParser.InitializerContext):
        pass


    # Enter a parse tree produced by CParser#initializer_list.
    def enterInitializer_list(self, ctx:CParser.Initializer_listContext):
        pass

    # Exit a parse tree produced by CParser#initializer_list.
    def exitInitializer_list(self, ctx:CParser.Initializer_listContext):
        pass


    # Enter a parse tree produced by CParser#argument_expression_list.
    def enterArgument_expression_list(self, ctx:CParser.Argument_expression_listContext):
        pass

    # Exit a parse tree produced by CParser#argument_expression_list.
    def exitArgument_expression_list(self, ctx:CParser.Argument_expression_listContext):
        pass


    # Enter a parse tree produced by CParser#additive_expression.
    def enterAdditive_expression(self, ctx:CParser.Additive_expressionContext):
        pass

    # Exit a parse tree produced by CParser#additive_expression.
    def exitAdditive_expression(self, ctx:CParser.Additive_expressionContext):
        pass


    # Enter a parse tree produced by CParser#multiplicative_expression.
    def enterMultiplicative_expression(self, ctx:CParser.Multiplicative_expressionContext):
        pass

    # Exit a parse tree produced by CParser#multiplicative_expression.
    def exitMultiplicative_expression(self, ctx:CParser.Multiplicative_expressionContext):
        pass


    # Enter a parse tree produced by CParser#cast_expression.
    def enterCast_expression(self, ctx:CParser.Cast_expressionContext):
        pass

    # Exit a parse tree produced by CParser#cast_expression.
    def exitCast_expression(self, ctx:CParser.Cast_expressionContext):
        pass


    # Enter a parse tree produced by CParser#unary_expression.
    def enterUnary_expression(self, ctx:CParser.Unary_expressionContext):
        pass

    # Exit a parse tree produced by CParser#unary_expression.
    def exitUnary_expression(self, ctx:CParser.Unary_expressionContext):
        pass


    # Enter a parse tree produced by CParser#postfix_expression.
    def enterPostfix_expression(self, ctx:CParser.Postfix_expressionContext):
        pass

    # Exit a parse tree produced by CParser#postfix_expression.
    def exitPostfix_expression(self, ctx:CParser.Postfix_expressionContext):
        pass


    # Enter a parse tree produced by CParser#macro_parameter_list.
    def enterMacro_parameter_list(self, ctx:CParser.Macro_parameter_listContext):
        pass

    # Exit a parse tree produced by CParser#macro_parameter_list.
    def exitMacro_parameter_list(self, ctx:CParser.Macro_parameter_listContext):
        pass


    # Enter a parse tree produced by CParser#unary_operator.
    def enterUnary_operator(self, ctx:CParser.Unary_operatorContext):
        pass

    # Exit a parse tree produced by CParser#unary_operator.
    def exitUnary_operator(self, ctx:CParser.Unary_operatorContext):
        pass


    # Enter a parse tree produced by CParser#primary_expression.
    def enterPrimary_expression(self, ctx:CParser.Primary_expressionContext):
        pass

    # Exit a parse tree produced by CParser#primary_expression.
    def exitPrimary_expression(self, ctx:CParser.Primary_expressionContext):
        pass


    # Enter a parse tree produced by CParser#constant.
    def enterConstant(self, ctx:CParser.ConstantContext):
        pass

    # Exit a parse tree produced by CParser#constant.
    def exitConstant(self, ctx:CParser.ConstantContext):
        pass


    # Enter a parse tree produced by CParser#expression.
    def enterExpression(self, ctx:CParser.ExpressionContext):
        pass

    # Exit a parse tree produced by CParser#expression.
    def exitExpression(self, ctx:CParser.ExpressionContext):
        pass


    # Enter a parse tree produced by CParser#constant_expression.
    def enterConstant_expression(self, ctx:CParser.Constant_expressionContext):
        pass

    # Exit a parse tree produced by CParser#constant_expression.
    def exitConstant_expression(self, ctx:CParser.Constant_expressionContext):
        pass


    # Enter a parse tree produced by CParser#assignment_expression.
    def enterAssignment_expression(self, ctx:CParser.Assignment_expressionContext):
        pass

    # Exit a parse tree produced by CParser#assignment_expression.
    def exitAssignment_expression(self, ctx:CParser.Assignment_expressionContext):
        pass


    # Enter a parse tree produced by CParser#lvalue.
    def enterLvalue(self, ctx:CParser.LvalueContext):
        pass

    # Exit a parse tree produced by CParser#lvalue.
    def exitLvalue(self, ctx:CParser.LvalueContext):
        pass


    # Enter a parse tree produced by CParser#assignment_operator.
    def enterAssignment_operator(self, ctx:CParser.Assignment_operatorContext):
        pass

    # Exit a parse tree produced by CParser#assignment_operator.
    def exitAssignment_operator(self, ctx:CParser.Assignment_operatorContext):
        pass


    # Enter a parse tree produced by CParser#conditional_expression.
    def enterConditional_expression(self, ctx:CParser.Conditional_expressionContext):
        pass

    # Exit a parse tree produced by CParser#conditional_expression.
    def exitConditional_expression(self, ctx:CParser.Conditional_expressionContext):
        pass


    # Enter a parse tree produced by CParser#logical_or_expression.
    def enterLogical_or_expression(self, ctx:CParser.Logical_or_expressionContext):
        pass

    # Exit a parse tree produced by CParser#logical_or_expression.
    def exitLogical_or_expression(self, ctx:CParser.Logical_or_expressionContext):
        pass


    # Enter a parse tree produced by CParser#logical_and_expression.
    def enterLogical_and_expression(self, ctx:CParser.Logical_and_expressionContext):
        pass

    # Exit a parse tree produced by CParser#logical_and_expression.
    def exitLogical_and_expression(self, ctx:CParser.Logical_and_expressionContext):
        pass


    # Enter a parse tree produced by CParser#inclusive_or_expression.
    def enterInclusive_or_expression(self, ctx:CParser.Inclusive_or_expressionContext):
        pass

    # Exit a parse tree produced by CParser#inclusive_or_expression.
    def exitInclusive_or_expression(self, ctx:CParser.Inclusive_or_expressionContext):
        pass


    # Enter a parse tree produced by CParser#exclusive_or_expression.
    def enterExclusive_or_expression(self, ctx:CParser.Exclusive_or_expressionContext):
        pass

    # Exit a parse tree produced by CParser#exclusive_or_expression.
    def exitExclusive_or_expression(self, ctx:CParser.Exclusive_or_expressionContext):
        pass


    # Enter a parse tree produced by CParser#and_expression.
    def enterAnd_expression(self, ctx:CParser.And_expressionContext):
        pass

    # Exit a parse tree produced by CParser#and_expression.
    def exitAnd_expression(self, ctx:CParser.And_expressionContext):
        pass


    # Enter a parse tree produced by CParser#equality_expression.
    def enterEquality_expression(self, ctx:CParser.Equality_expressionContext):
        pass

    # Exit a parse tree produced by CParser#equality_expression.
    def exitEquality_expression(self, ctx:CParser.Equality_expressionContext):
        pass


    # Enter a parse tree produced by CParser#relational_expression.
    def enterRelational_expression(self, ctx:CParser.Relational_expressionContext):
        pass

    # Exit a parse tree produced by CParser#relational_expression.
    def exitRelational_expression(self, ctx:CParser.Relational_expressionContext):
        pass


    # Enter a parse tree produced by CParser#shift_expression.
    def enterShift_expression(self, ctx:CParser.Shift_expressionContext):
        pass

    # Exit a parse tree produced by CParser#shift_expression.
    def exitShift_expression(self, ctx:CParser.Shift_expressionContext):
        pass


    # Enter a parse tree produced by CParser#statement.
    def enterStatement(self, ctx:CParser.StatementContext):
        pass

    # Exit a parse tree produced by CParser#statement.
    def exitStatement(self, ctx:CParser.StatementContext):
        pass


    # Enter a parse tree produced by CParser#asm2_statement.
    def enterAsm2_statement(self, ctx:CParser.Asm2_statementContext):
        pass

    # Exit a parse tree produced by CParser#asm2_statement.
    def exitAsm2_statement(self, ctx:CParser.Asm2_statementContext):
        pass


    # Enter a parse tree produced by CParser#asm1_statement.
    def enterAsm1_statement(self, ctx:CParser.Asm1_statementContext):
        pass

    # Exit a parse tree produced by CParser#asm1_statement.
    def exitAsm1_statement(self, ctx:CParser.Asm1_statementContext):
        pass


    # Enter a parse tree produced by CParser#asm_statement.
    def enterAsm_statement(self, ctx:CParser.Asm_statementContext):
        pass

    # Exit a parse tree produced by CParser#asm_statement.
    def exitAsm_statement(self, ctx:CParser.Asm_statementContext):
        pass


    # Enter a parse tree produced by CParser#macro_statement.
    def enterMacro_statement(self, ctx:CParser.Macro_statementContext):
        pass

    # Exit a parse tree produced by CParser#macro_statement.
    def exitMacro_statement(self, ctx:CParser.Macro_statementContext):
        pass


    # Enter a parse tree produced by CParser#labeled_statement.
    def enterLabeled_statement(self, ctx:CParser.Labeled_statementContext):
        pass

    # Exit a parse tree produced by CParser#labeled_statement.
    def exitLabeled_statement(self, ctx:CParser.Labeled_statementContext):
        pass


    # Enter a parse tree produced by CParser#compound_statement.
    def enterCompound_statement(self, ctx:CParser.Compound_statementContext):
        pass

    # Exit a parse tree produced by CParser#compound_statement.
    def exitCompound_statement(self, ctx:CParser.Compound_statementContext):
        pass


    # Enter a parse tree produced by CParser#statement_list.
    def enterStatement_list(self, ctx:CParser.Statement_listContext):
        pass

    # Exit a parse tree produced by CParser#statement_list.
    def exitStatement_list(self, ctx:CParser.Statement_listContext):
        pass


    # Enter a parse tree produced by CParser#expression_statement.
    def enterExpression_statement(self, ctx:CParser.Expression_statementContext):
        pass

    # Exit a parse tree produced by CParser#expression_statement.
    def exitExpression_statement(self, ctx:CParser.Expression_statementContext):
        pass


    # Enter a parse tree produced by CParser#selection_statement.
    def enterSelection_statement(self, ctx:CParser.Selection_statementContext):
        pass

    # Exit a parse tree produced by CParser#selection_statement.
    def exitSelection_statement(self, ctx:CParser.Selection_statementContext):
        pass


    # Enter a parse tree produced by CParser#iteration_statement.
    def enterIteration_statement(self, ctx:CParser.Iteration_statementContext):
        pass

    # Exit a parse tree produced by CParser#iteration_statement.
    def exitIteration_statement(self, ctx:CParser.Iteration_statementContext):
        pass


    # Enter a parse tree produced by CParser#jump_statement.
    def enterJump_statement(self, ctx:CParser.Jump_statementContext):
        pass

    # Exit a parse tree produced by CParser#jump_statement.
    def exitJump_statement(self, ctx:CParser.Jump_statementContext):
        pass



del CParser
