// Generated from C:\Users\EUGENIO CARVALHO\Desktop\projects\Ivannosys\src\grammar\IvannosysGrammar.g4 by ANTLR 4.2.2
package grammar;

    import java.util.HashMap;
    import java.util.Stack;

import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link IvannosysGrammarParser}.
 */
public interface IvannosysGrammarListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterExpression(@NotNull IvannosysGrammarParser.ExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitExpression(@NotNull IvannosysGrammarParser.ExpressionContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#expression_list}.
	 * @param ctx the parse tree
	 */
	void enterExpression_list(@NotNull IvannosysGrammarParser.Expression_listContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#expression_list}.
	 * @param ctx the parse tree
	 */
	void exitExpression_list(@NotNull IvannosysGrammarParser.Expression_listContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#func_literal}.
	 * @param ctx the parse tree
	 */
	void enterFunc_literal(@NotNull IvannosysGrammarParser.Func_literalContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#func_literal}.
	 * @param ctx the parse tree
	 */
	void exitFunc_literal(@NotNull IvannosysGrammarParser.Func_literalContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#func_spec}.
	 * @param ctx the parse tree
	 */
	void enterFunc_spec(@NotNull IvannosysGrammarParser.Func_specContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#func_spec}.
	 * @param ctx the parse tree
	 */
	void exitFunc_spec(@NotNull IvannosysGrammarParser.Func_specContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#def_block}.
	 * @param ctx the parse tree
	 */
	void enterDef_block(@NotNull IvannosysGrammarParser.Def_blockContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#def_block}.
	 * @param ctx the parse tree
	 */
	void exitDef_block(@NotNull IvannosysGrammarParser.Def_blockContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#arrayType}.
	 * @param ctx the parse tree
	 */
	void enterArrayType(@NotNull IvannosysGrammarParser.ArrayTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#arrayType}.
	 * @param ctx the parse tree
	 */
	void exitArrayType(@NotNull IvannosysGrammarParser.ArrayTypeContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#def_switch}.
	 * @param ctx the parse tree
	 */
	void enterDef_switch(@NotNull IvannosysGrammarParser.Def_switchContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#def_switch}.
	 * @param ctx the parse tree
	 */
	void exitDef_switch(@NotNull IvannosysGrammarParser.Def_switchContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#test}.
	 * @param ctx the parse tree
	 */
	void enterTest(@NotNull IvannosysGrammarParser.TestContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#test}.
	 * @param ctx the parse tree
	 */
	void exitTest(@NotNull IvannosysGrammarParser.TestContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#assign_modify}.
	 * @param ctx the parse tree
	 */
	void enterAssign_modify(@NotNull IvannosysGrammarParser.Assign_modifyContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#assign_modify}.
	 * @param ctx the parse tree
	 */
	void exitAssign_modify(@NotNull IvannosysGrammarParser.Assign_modifyContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#expression_list_typed}.
	 * @param ctx the parse tree
	 */
	void enterExpression_list_typed(@NotNull IvannosysGrammarParser.Expression_list_typedContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#expression_list_typed}.
	 * @param ctx the parse tree
	 */
	void exitExpression_list_typed(@NotNull IvannosysGrammarParser.Expression_list_typedContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#dec_var_part}.
	 * @param ctx the parse tree
	 */
	void enterDec_var_part(@NotNull IvannosysGrammarParser.Dec_var_partContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#dec_var_part}.
	 * @param ctx the parse tree
	 */
	void exitDec_var_part(@NotNull IvannosysGrammarParser.Dec_var_partContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#type}.
	 * @param ctx the parse tree
	 */
	void enterType(@NotNull IvannosysGrammarParser.TypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#type}.
	 * @param ctx the parse tree
	 */
	void exitType(@NotNull IvannosysGrammarParser.TypeContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#catch_exception}.
	 * @param ctx the parse tree
	 */
	void enterCatch_exception(@NotNull IvannosysGrammarParser.Catch_exceptionContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#catch_exception}.
	 * @param ctx the parse tree
	 */
	void exitCatch_exception(@NotNull IvannosysGrammarParser.Catch_exceptionContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#dec_const_part}.
	 * @param ctx the parse tree
	 */
	void enterDec_const_part(@NotNull IvannosysGrammarParser.Dec_const_partContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#dec_const_part}.
	 * @param ctx the parse tree
	 */
	void exitDec_const_part(@NotNull IvannosysGrammarParser.Dec_const_partContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#unary_expr}.
	 * @param ctx the parse tree
	 */
	void enterUnary_expr(@NotNull IvannosysGrammarParser.Unary_exprContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#unary_expr}.
	 * @param ctx the parse tree
	 */
	void exitUnary_expr(@NotNull IvannosysGrammarParser.Unary_exprContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#def_for}.
	 * @param ctx the parse tree
	 */
	void enterDef_for(@NotNull IvannosysGrammarParser.Def_forContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#def_for}.
	 * @param ctx the parse tree
	 */
	void exitDef_for(@NotNull IvannosysGrammarParser.Def_forContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#fallthroughStmt}.
	 * @param ctx the parse tree
	 */
	void enterFallthroughStmt(@NotNull IvannosysGrammarParser.FallthroughStmtContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#fallthroughStmt}.
	 * @param ctx the parse tree
	 */
	void exitFallthroughStmt(@NotNull IvannosysGrammarParser.FallthroughStmtContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#import_part}.
	 * @param ctx the parse tree
	 */
	void enterImport_part(@NotNull IvannosysGrammarParser.Import_partContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#import_part}.
	 * @param ctx the parse tree
	 */
	void exitImport_part(@NotNull IvannosysGrammarParser.Import_partContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#programPart}.
	 * @param ctx the parse tree
	 */
	void enterProgramPart(@NotNull IvannosysGrammarParser.ProgramPartContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#programPart}.
	 * @param ctx the parse tree
	 */
	void exitProgramPart(@NotNull IvannosysGrammarParser.ProgramPartContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#for_each}.
	 * @param ctx the parse tree
	 */
	void enterFor_each(@NotNull IvannosysGrammarParser.For_eachContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#for_each}.
	 * @param ctx the parse tree
	 */
	void exitFor_each(@NotNull IvannosysGrammarParser.For_eachContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#def_interface}.
	 * @param ctx the parse tree
	 */
	void enterDef_interface(@NotNull IvannosysGrammarParser.Def_interfaceContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#def_interface}.
	 * @param ctx the parse tree
	 */
	void exitDef_interface(@NotNull IvannosysGrammarParser.Def_interfaceContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#build_stmt}.
	 * @param ctx the parse tree
	 */
	void enterBuild_stmt(@NotNull IvannosysGrammarParser.Build_stmtContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#build_stmt}.
	 * @param ctx the parse tree
	 */
	void exitBuild_stmt(@NotNull IvannosysGrammarParser.Build_stmtContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#mapType}.
	 * @param ctx the parse tree
	 */
	void enterMapType(@NotNull IvannosysGrammarParser.MapTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#mapType}.
	 * @param ctx the parse tree
	 */
	void exitMapType(@NotNull IvannosysGrammarParser.MapTypeContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#try_catch}.
	 * @param ctx the parse tree
	 */
	void enterTry_catch(@NotNull IvannosysGrammarParser.Try_catchContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#try_catch}.
	 * @param ctx the parse tree
	 */
	void exitTry_catch(@NotNull IvannosysGrammarParser.Try_catchContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#increment}.
	 * @param ctx the parse tree
	 */
	void enterIncrement(@NotNull IvannosysGrammarParser.IncrementContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#increment}.
	 * @param ctx the parse tree
	 */
	void exitIncrement(@NotNull IvannosysGrammarParser.IncrementContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#index}.
	 * @param ctx the parse tree
	 */
	void enterIndex(@NotNull IvannosysGrammarParser.IndexContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#index}.
	 * @param ctx the parse tree
	 */
	void exitIndex(@NotNull IvannosysGrammarParser.IndexContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#buildtags}.
	 * @param ctx the parse tree
	 */
	void enterBuildtags(@NotNull IvannosysGrammarParser.BuildtagsContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#buildtags}.
	 * @param ctx the parse tree
	 */
	void exitBuildtags(@NotNull IvannosysGrammarParser.BuildtagsContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#def_case}.
	 * @param ctx the parse tree
	 */
	void enterDef_case(@NotNull IvannosysGrammarParser.Def_caseContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#def_case}.
	 * @param ctx the parse tree
	 */
	void exitDef_case(@NotNull IvannosysGrammarParser.Def_caseContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#callExpr}.
	 * @param ctx the parse tree
	 */
	void enterCallExpr(@NotNull IvannosysGrammarParser.CallExprContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#callExpr}.
	 * @param ctx the parse tree
	 */
	void exitCallExpr(@NotNull IvannosysGrammarParser.CallExprContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#init}.
	 * @param ctx the parse tree
	 */
	void enterInit(@NotNull IvannosysGrammarParser.InitContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#init}.
	 * @param ctx the parse tree
	 */
	void exitInit(@NotNull IvannosysGrammarParser.InitContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#for_clause}.
	 * @param ctx the parse tree
	 */
	void enterFor_clause(@NotNull IvannosysGrammarParser.For_clauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#for_clause}.
	 * @param ctx the parse tree
	 */
	void exitFor_clause(@NotNull IvannosysGrammarParser.For_clauseContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#throwStmt}.
	 * @param ctx the parse tree
	 */
	void enterThrowStmt(@NotNull IvannosysGrammarParser.ThrowStmtContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#throwStmt}.
	 * @param ctx the parse tree
	 */
	void exitThrowStmt(@NotNull IvannosysGrammarParser.ThrowStmtContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#composite}.
	 * @param ctx the parse tree
	 */
	void enterComposite(@NotNull IvannosysGrammarParser.CompositeContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#composite}.
	 * @param ctx the parse tree
	 */
	void exitComposite(@NotNull IvannosysGrammarParser.CompositeContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#id_list}.
	 * @param ctx the parse tree
	 */
	void enterId_list(@NotNull IvannosysGrammarParser.Id_listContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#id_list}.
	 * @param ctx the parse tree
	 */
	void exitId_list(@NotNull IvannosysGrammarParser.Id_listContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterStatement(@NotNull IvannosysGrammarParser.StatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitStatement(@NotNull IvannosysGrammarParser.StatementContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#initialization}.
	 * @param ctx the parse tree
	 */
	void enterInitialization(@NotNull IvannosysGrammarParser.InitializationContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#initialization}.
	 * @param ctx the parse tree
	 */
	void exitInitialization(@NotNull IvannosysGrammarParser.InitializationContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#flux_control}.
	 * @param ctx the parse tree
	 */
	void enterFlux_control(@NotNull IvannosysGrammarParser.Flux_controlContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#flux_control}.
	 * @param ctx the parse tree
	 */
	void exitFlux_control(@NotNull IvannosysGrammarParser.Flux_controlContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#return_stmt}.
	 * @param ctx the parse tree
	 */
	void enterReturn_stmt(@NotNull IvannosysGrammarParser.Return_stmtContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#return_stmt}.
	 * @param ctx the parse tree
	 */
	void exitReturn_stmt(@NotNull IvannosysGrammarParser.Return_stmtContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#return_dec}.
	 * @param ctx the parse tree
	 */
	void enterReturn_dec(@NotNull IvannosysGrammarParser.Return_decContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#return_dec}.
	 * @param ctx the parse tree
	 */
	void exitReturn_dec(@NotNull IvannosysGrammarParser.Return_decContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#def_assign_op}.
	 * @param ctx the parse tree
	 */
	void enterDef_assign_op(@NotNull IvannosysGrammarParser.Def_assign_opContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#def_assign_op}.
	 * @param ctx the parse tree
	 */
	void exitDef_assign_op(@NotNull IvannosysGrammarParser.Def_assign_opContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#indexedType}.
	 * @param ctx the parse tree
	 */
	void enterIndexedType(@NotNull IvannosysGrammarParser.IndexedTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#indexedType}.
	 * @param ctx the parse tree
	 */
	void exitIndexedType(@NotNull IvannosysGrammarParser.IndexedTypeContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#def_if}.
	 * @param ctx the parse tree
	 */
	void enterDef_if(@NotNull IvannosysGrammarParser.Def_ifContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#def_if}.
	 * @param ctx the parse tree
	 */
	void exitDef_if(@NotNull IvannosysGrammarParser.Def_ifContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#finally_try}.
	 * @param ctx the parse tree
	 */
	void enterFinally_try(@NotNull IvannosysGrammarParser.Finally_tryContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#finally_try}.
	 * @param ctx the parse tree
	 */
	void exitFinally_try(@NotNull IvannosysGrammarParser.Finally_tryContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#range}.
	 * @param ctx the parse tree
	 */
	void enterRange(@NotNull IvannosysGrammarParser.RangeContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#range}.
	 * @param ctx the parse tree
	 */
	void exitRange(@NotNull IvannosysGrammarParser.RangeContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#element_list}.
	 * @param ctx the parse tree
	 */
	void enterElement_list(@NotNull IvannosysGrammarParser.Element_listContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#element_list}.
	 * @param ctx the parse tree
	 */
	void exitElement_list(@NotNull IvannosysGrammarParser.Element_listContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#structType}.
	 * @param ctx the parse tree
	 */
	void enterStructType(@NotNull IvannosysGrammarParser.StructTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#structType}.
	 * @param ctx the parse tree
	 */
	void exitStructType(@NotNull IvannosysGrammarParser.StructTypeContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#label_stmt}.
	 * @param ctx the parse tree
	 */
	void enterLabel_stmt(@NotNull IvannosysGrammarParser.Label_stmtContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#label_stmt}.
	 * @param ctx the parse tree
	 */
	void exitLabel_stmt(@NotNull IvannosysGrammarParser.Label_stmtContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#keyed_element}.
	 * @param ctx the parse tree
	 */
	void enterKeyed_element(@NotNull IvannosysGrammarParser.Keyed_elementContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#keyed_element}.
	 * @param ctx the parse tree
	 */
	void exitKeyed_element(@NotNull IvannosysGrammarParser.Keyed_elementContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#def_function}.
	 * @param ctx the parse tree
	 */
	void enterDef_function(@NotNull IvannosysGrammarParser.Def_functionContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#def_function}.
	 * @param ctx the parse tree
	 */
	void exitDef_function(@NotNull IvannosysGrammarParser.Def_functionContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#primitive_value}.
	 * @param ctx the parse tree
	 */
	void enterPrimitive_value(@NotNull IvannosysGrammarParser.Primitive_valueContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#primitive_value}.
	 * @param ctx the parse tree
	 */
	void exitPrimitive_value(@NotNull IvannosysGrammarParser.Primitive_valueContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#baseType}.
	 * @param ctx the parse tree
	 */
	void enterBaseType(@NotNull IvannosysGrammarParser.BaseTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#baseType}.
	 * @param ctx the parse tree
	 */
	void exitBaseType(@NotNull IvannosysGrammarParser.BaseTypeContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#def_if_block}.
	 * @param ctx the parse tree
	 */
	void enterDef_if_block(@NotNull IvannosysGrammarParser.Def_if_blockContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#def_if_block}.
	 * @param ctx the parse tree
	 */
	void exitDef_if_block(@NotNull IvannosysGrammarParser.Def_if_blockContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#delete}.
	 * @param ctx the parse tree
	 */
	void enterDelete(@NotNull IvannosysGrammarParser.DeleteContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#delete}.
	 * @param ctx the parse tree
	 */
	void exitDelete(@NotNull IvannosysGrammarParser.DeleteContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#base_stmt}.
	 * @param ctx the parse tree
	 */
	void enterBase_stmt(@NotNull IvannosysGrammarParser.Base_stmtContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#base_stmt}.
	 * @param ctx the parse tree
	 */
	void exitBase_stmt(@NotNull IvannosysGrammarParser.Base_stmtContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#def_type}.
	 * @param ctx the parse tree
	 */
	void enterDef_type(@NotNull IvannosysGrammarParser.Def_typeContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#def_type}.
	 * @param ctx the parse tree
	 */
	void exitDef_type(@NotNull IvannosysGrammarParser.Def_typeContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#dec_var_short}.
	 * @param ctx the parse tree
	 */
	void enterDec_var_short(@NotNull IvannosysGrammarParser.Dec_var_shortContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#dec_var_short}.
	 * @param ctx the parse tree
	 */
	void exitDec_var_short(@NotNull IvannosysGrammarParser.Dec_var_shortContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#fieldDecl}.
	 * @param ctx the parse tree
	 */
	void enterFieldDecl(@NotNull IvannosysGrammarParser.FieldDeclContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#fieldDecl}.
	 * @param ctx the parse tree
	 */
	void exitFieldDecl(@NotNull IvannosysGrammarParser.FieldDeclContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#expression_seletor}.
	 * @param ctx the parse tree
	 */
	void enterExpression_seletor(@NotNull IvannosysGrammarParser.Expression_seletorContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#expression_seletor}.
	 * @param ctx the parse tree
	 */
	void exitExpression_seletor(@NotNull IvannosysGrammarParser.Expression_seletorContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#dec_var}.
	 * @param ctx the parse tree
	 */
	void enterDec_var(@NotNull IvannosysGrammarParser.Dec_varContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#dec_var}.
	 * @param ctx the parse tree
	 */
	void exitDec_var(@NotNull IvannosysGrammarParser.Dec_varContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#qualifiedId}.
	 * @param ctx the parse tree
	 */
	void enterQualifiedId(@NotNull IvannosysGrammarParser.QualifiedIdContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#qualifiedId}.
	 * @param ctx the parse tree
	 */
	void exitQualifiedId(@NotNull IvannosysGrammarParser.QualifiedIdContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#buildtag}.
	 * @param ctx the parse tree
	 */
	void enterBuildtag(@NotNull IvannosysGrammarParser.BuildtagContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#buildtag}.
	 * @param ctx the parse tree
	 */
	void exitBuildtag(@NotNull IvannosysGrammarParser.BuildtagContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#statement_list}.
	 * @param ctx the parse tree
	 */
	void enterStatement_list(@NotNull IvannosysGrammarParser.Statement_listContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#statement_list}.
	 * @param ctx the parse tree
	 */
	void exitStatement_list(@NotNull IvannosysGrammarParser.Statement_listContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#anon_field}.
	 * @param ctx the parse tree
	 */
	void enterAnon_field(@NotNull IvannosysGrammarParser.Anon_fieldContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#anon_field}.
	 * @param ctx the parse tree
	 */
	void exitAnon_field(@NotNull IvannosysGrammarParser.Anon_fieldContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#newstmt}.
	 * @param ctx the parse tree
	 */
	void enterNewstmt(@NotNull IvannosysGrammarParser.NewstmtContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#newstmt}.
	 * @param ctx the parse tree
	 */
	void exitNewstmt(@NotNull IvannosysGrammarParser.NewstmtContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#dec_const}.
	 * @param ctx the parse tree
	 */
	void enterDec_const(@NotNull IvannosysGrammarParser.Dec_constContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#dec_const}.
	 * @param ctx the parse tree
	 */
	void exitDec_const(@NotNull IvannosysGrammarParser.Dec_constContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#operand}.
	 * @param ctx the parse tree
	 */
	void enterOperand(@NotNull IvannosysGrammarParser.OperandContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#operand}.
	 * @param ctx the parse tree
	 */
	void exitOperand(@NotNull IvannosysGrammarParser.OperandContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#imports}.
	 * @param ctx the parse tree
	 */
	void enterImports(@NotNull IvannosysGrammarParser.ImportsContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#imports}.
	 * @param ctx the parse tree
	 */
	void exitImports(@NotNull IvannosysGrammarParser.ImportsContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#primary_expr}.
	 * @param ctx the parse tree
	 */
	void enterPrimary_expr(@NotNull IvannosysGrammarParser.Primary_exprContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#primary_expr}.
	 * @param ctx the parse tree
	 */
	void exitPrimary_expr(@NotNull IvannosysGrammarParser.Primary_exprContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#literalType}.
	 * @param ctx the parse tree
	 */
	void enterLiteralType(@NotNull IvannosysGrammarParser.LiteralTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#literalType}.
	 * @param ctx the parse tree
	 */
	void exitLiteralType(@NotNull IvannosysGrammarParser.LiteralTypeContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#inc_dec}.
	 * @param ctx the parse tree
	 */
	void enterInc_dec(@NotNull IvannosysGrammarParser.Inc_decContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#inc_dec}.
	 * @param ctx the parse tree
	 */
	void exitInc_dec(@NotNull IvannosysGrammarParser.Inc_decContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#arguments}.
	 * @param ctx the parse tree
	 */
	void enterArguments(@NotNull IvannosysGrammarParser.ArgumentsContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#arguments}.
	 * @param ctx the parse tree
	 */
	void exitArguments(@NotNull IvannosysGrammarParser.ArgumentsContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#literal_value}.
	 * @param ctx the parse tree
	 */
	void enterLiteral_value(@NotNull IvannosysGrammarParser.Literal_valueContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#literal_value}.
	 * @param ctx the parse tree
	 */
	void exitLiteral_value(@NotNull IvannosysGrammarParser.Literal_valueContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#typename}.
	 * @param ctx the parse tree
	 */
	void enterTypename(@NotNull IvannosysGrammarParser.TypenameContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#typename}.
	 * @param ctx the parse tree
	 */
	void exitTypename(@NotNull IvannosysGrammarParser.TypenameContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#receive_type}.
	 * @param ctx the parse tree
	 */
	void enterReceive_type(@NotNull IvannosysGrammarParser.Receive_typeContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#receive_type}.
	 * @param ctx the parse tree
	 */
	void exitReceive_type(@NotNull IvannosysGrammarParser.Receive_typeContext ctx);

	/**
	 * Enter a parse tree produced by {@link IvannosysGrammarParser#literal}.
	 * @param ctx the parse tree
	 */
	void enterLiteral(@NotNull IvannosysGrammarParser.LiteralContext ctx);
	/**
	 * Exit a parse tree produced by {@link IvannosysGrammarParser#literal}.
	 * @param ctx the parse tree
	 */
	void exitLiteral(@NotNull IvannosysGrammarParser.LiteralContext ctx);
}