package parsing.C.Functions;
import org.antlr.v4.runtime.misc.NotNull;
import parsing.ANTLRParserDriver;
import parsing.C.Functions.builder.FunctionContentBuilder;
import antlr.C.FunctionBaseListener;
import antlr.C.FunctionParser;
/**
* This is where hooks are registered for different types
* of parse tree nodes.
* */
public class CFunctionParseTreeListener extends FunctionBaseListener
{
ANTLRParserDriver p;
public void setDriver(ANTLRParserDriver aP)
{
p = aP;
}
@Override
public void enterStatements(FunctionParser.StatementsContext ctx)
{
FunctionContentBuilder builder = new FunctionContentBuilder();
builder.createNew(ctx);
p.builderStack.push(builder);
}
@Override
public void exitStatements(FunctionParser.StatementsContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitStatements(ctx);
}
@Override
public void enterStatement(FunctionParser.StatementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterStatement(ctx);
}
@Override
public void exitStatement(FunctionParser.StatementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitStatement(ctx);
}
@Override
public void enterElse_statement(FunctionParser.Else_statementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterElse(ctx);
}
@Override
public void enterIf_statement(FunctionParser.If_statementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterIf(ctx);
}
@Override
public void enterFor_statement(FunctionParser.For_statementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterFor(ctx);
}
@Override
public void enterFor_init_statement(
FunctionParser.For_init_statementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterInitFor(ctx);
}
@Override
public void exitFor_init_statement(
FunctionParser.For_init_statementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitInitFor(ctx);
}
@Override
public void enterWhile_statement(FunctionParser.While_statementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterWhile(ctx);
}
@Override
public void enterDo_statement(FunctionParser.Do_statementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterDo(ctx);
}
@Override
public void enterSwitch_statement(FunctionParser.Switch_statementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterSwitchStatement(ctx);
}
@Override
public void enterLabel(FunctionParser.LabelContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterLabel(ctx);
}
@Override
public void enterBlock_starter(FunctionParser.Block_starterContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterBlockStarter(ctx);
}
@Override
public void enterOpening_curly(FunctionParser.Opening_curlyContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterOpeningCurly(ctx);
}
@Override
public void enterClosing_curly(FunctionParser.Closing_curlyContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterClosingCurly(ctx);
}
@Override
public void enterExpr_statement(FunctionParser.Expr_statementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterExprStatement(ctx);
}
@Override
public void enterReturnStatement(FunctionParser.ReturnStatementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterReturnStatement(ctx);
}
@Override
public void enterBreakStatement(FunctionParser.BreakStatementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterBreakStatement(ctx);
}
@Override
public void enterContinueStatement(
FunctionParser.ContinueStatementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterContinueStatement(ctx);
}
@Override
public void enterGotoStatement(FunctionParser.GotoStatementContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterGotoStatement(ctx);
}
@Override
public void enterDeclByType(FunctionParser.DeclByTypeContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterDeclByType(ctx, ctx.type_name());
}
@Override
public void exitDeclByType(FunctionParser.DeclByTypeContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitDeclByType();
}
@Override
public void enterDeclByClass(FunctionParser.DeclByClassContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterDeclByClass(ctx);
}
@Override
public void exitDeclByClass(FunctionParser.DeclByClassContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitDeclByClass();
}
@Override
public void enterInitDeclSimple(FunctionParser.InitDeclSimpleContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterInitDeclSimple(ctx);
}
@Override
public void exitInitDeclSimple(FunctionParser.InitDeclSimpleContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitInitDeclSimple();
}
@Override
public void enterInitDeclWithAssign(
FunctionParser.InitDeclWithAssignContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterInitDeclWithAssign(ctx);
}
@Override
public void exitInitDeclWithAssign(
FunctionParser.InitDeclWithAssignContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitInitDeclWithAssign(ctx);
}
@Override
public void enterInitDeclWithCall(FunctionParser.InitDeclWithCallContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterInitDeclWithCall(ctx);
}
@Override
public void exitInitDeclWithCall(FunctionParser.InitDeclWithCallContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitInitDeclWithCall();
}
@Override
public void enterCondition(FunctionParser.ConditionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterCondition(ctx);
}
@Override
public void exitCondition(FunctionParser.ConditionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitCondition(ctx);
}
@Override
public void enterExpr(FunctionParser.ExprContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterExpression(ctx);
}
@Override
public void exitExpr(FunctionParser.ExprContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitExpression(ctx);
}
@Override
public void enterAssign_expr(FunctionParser.Assign_exprContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterAssignment(ctx);
}
@Override
public void exitAssign_expr(FunctionParser.Assign_exprContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitAssignment(ctx);
}
@Override
public void enterCndExpr(FunctionParser.CndExprContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterConditionalExpr(ctx);
}
@Override
public void exitCndExpr(FunctionParser.CndExprContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitConditionalExpr(ctx);
}
@Override
public void enterOr_expression(FunctionParser.Or_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterOrExpression(ctx);
}
@Override
public void exitOr_expression(FunctionParser.Or_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitrOrExpression(ctx);
}
@Override
public void enterAnd_expression(FunctionParser.And_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterAndExpression(ctx);
}
@Override
public void exitAnd_expression(FunctionParser.And_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitAndExpression(ctx);
}
@Override
public void enterInclusive_or_expression(
FunctionParser.Inclusive_or_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterInclusiveOrExpression(ctx);
}
@Override
public void exitInclusive_or_expression(
FunctionParser.Inclusive_or_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitInclusiveOrExpression(ctx);
}
@Override
public void enterExclusive_or_expression(
FunctionParser.Exclusive_or_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterExclusiveOrExpression(ctx);
}
@Override
public void exitExclusive_or_expression(
FunctionParser.Exclusive_or_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitExclusiveOrExpression(ctx);
}
@Override
public void enterBit_and_expression(
FunctionParser.Bit_and_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterBitAndExpression(ctx);
}
@Override
public void exitBit_and_expression(
FunctionParser.Bit_and_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitBitAndExpression(ctx);
}
@Override
public void enterEquality_expression(
FunctionParser.Equality_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterEqualityExpression(ctx);
}
@Override
public void exitEquality_expression(
FunctionParser.Equality_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitEqualityExpression(ctx);
}
@Override
public void enterRelational_expression(
FunctionParser.Relational_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterRelationalExpression(ctx);
}
@Override
public void exitRelational_expression(
FunctionParser.Relational_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitRelationalExpression(ctx);
}
@Override
public void enterShift_expression(FunctionParser.Shift_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterShiftExpression(ctx);
}
@Override
public void exitShift_expression(FunctionParser.Shift_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitShiftExpression(ctx);
}
@Override
public void enterAdditive_expression(
FunctionParser.Additive_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterAdditiveExpression(ctx);
}
@Override
public void exitAdditive_expression(
FunctionParser.Additive_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitAdditiveExpression(ctx);
}
@Override
public void enterMultiplicative_expression(
FunctionParser.Multiplicative_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterMultiplicativeExpression(ctx);
}
@Override
public void exitMultiplicative_expression(
FunctionParser.Multiplicative_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitMultiplicativeExpression(ctx);
}
@Override
public void enterCast_expression(FunctionParser.Cast_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterCastExpression(ctx);
}
@Override
public void exitCast_expression(FunctionParser.Cast_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitCastExpression(ctx);
}
@Override
public void enterCast_target(FunctionParser.Cast_targetContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterCast_target(ctx);
}
@Override
public void exitCast_target(FunctionParser.Cast_targetContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitCast_target(ctx);
}
@Override
public void enterFuncCall(FunctionParser.FuncCallContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterFuncCall(ctx);
}
@Override
public void exitFuncCall(FunctionParser.FuncCallContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitFuncCall(ctx);
}
@Override
public void enterSizeof_expression(
@NotNull FunctionParser.Sizeof_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterSizeofExpr(ctx);
}
@Override
public void exitSizeof_expression(
@NotNull FunctionParser.Sizeof_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitSizeofExpr(ctx);
}
@Override
public void enterSizeof(@NotNull FunctionParser.SizeofContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterSizeof(ctx);
}
@Override
public void exitSizeof(@NotNull FunctionParser.SizeofContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitSizeof(ctx);
}
@Override
public void enterUnary_op_and_cast_expr(
@NotNull FunctionParser.Unary_op_and_cast_exprContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterUnaryOpAndCastExpr(ctx);
}
@Override
public void exitUnary_op_and_cast_expr(
@NotNull FunctionParser.Unary_op_and_cast_exprContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitUnaryOpAndCastExpr(ctx);
}
@Override
public void enterUnary_operator(
@NotNull FunctionParser.Unary_operatorContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterUnaryOperator(ctx);
}
@Override
public void exitUnary_operator(
@NotNull FunctionParser.Unary_operatorContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitUnaryOperator(ctx);
}
@Override
public void enterFunction_argument_list(
FunctionParser.Function_argument_listContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterArgumentList(ctx);
}
@Override
public void exitFunction_argument_list(
FunctionParser.Function_argument_listContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitArgumentList(ctx);
}
@Override
public void enterInc_dec(FunctionParser.Inc_decContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterIncDec(ctx);
}
@Override
public void exitInc_dec(FunctionParser.Inc_decContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitIncDec(ctx);
}
@Override
public void enterArrayIndexing(FunctionParser.ArrayIndexingContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterArrayIndexing(ctx);
}
@Override
public void exitArrayIndexing(FunctionParser.ArrayIndexingContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitArrayIndexing(ctx);
}
@Override
public void enterMemberAccess(FunctionParser.MemberAccessContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterMemberAccess(ctx);
}
@Override
public void exitMemberAccess(FunctionParser.MemberAccessContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitMemberAccess(ctx);
}
@Override
public void enterPtrMemberAccess(FunctionParser.PtrMemberAccessContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterPtrMemberAccess(ctx);
}
@Override
public void exitPtrMemberAccess(FunctionParser.PtrMemberAccessContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitPtrMemberAccess(ctx);
}
@Override
public void enterIncDecOp(FunctionParser.IncDecOpContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterIncDecOp(ctx);
}
@Override
public void exitIncDecOp(FunctionParser.IncDecOpContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitIncDecOp(ctx);
}
@Override
public void enterPrimary_expression(
FunctionParser.Primary_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterPrimary(ctx);
}
@Override
public void exitPrimary_expression(
FunctionParser.Primary_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitPrimary(ctx);
}
@Override
public void enterUnary_expression(FunctionParser.Unary_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterUnaryExpression(ctx);
}
@Override
public void exitUnary_expression(FunctionParser.Unary_expressionContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitUnaryExpression(ctx);
}
@Override
public void enterIdentifier(FunctionParser.IdentifierContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterIdentifier(ctx);
}
@Override
public void exitIdentifier(FunctionParser.IdentifierContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitIdentifier(ctx);
}
@Override
public void enterFunction_argument(
FunctionParser.Function_argumentContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterArgument(ctx);
}
@Override
public void exitFunction_argument(
FunctionParser.Function_argumentContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitArgument(ctx);
}
@Override
public void enterInitializer_list(FunctionParser.Initializer_listContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterInitializerList(ctx);
}
@Override
public void exitInitializer_list(FunctionParser.Initializer_listContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitInitializerList(ctx);
}
@Override
public void enterSizeof_operand2(
@NotNull FunctionParser.Sizeof_operand2Context ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterSizeofOperand2(ctx);
}
@Override
public void exitSizeof_operand2(
@NotNull FunctionParser.Sizeof_operand2Context ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitSizeofOperand2(ctx);
}
@Override
public void enterSizeof_operand(
@NotNull FunctionParser.Sizeof_operandContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.enterSizeofOperand(ctx);
}
@Override
public void exitSizeof_operand(
@NotNull FunctionParser.Sizeof_operandContext ctx)
{
FunctionContentBuilder builder = (FunctionContentBuilder) p.builderStack
.peek();
builder.exitSizeofOperand(ctx);
}
}