// File: /workspace/github_c_makefile_star2_O0/gregtour[P]minimal-compiler/autostubs.c
// Function: ProcessNode
int ProcessNode(SYNTAX_TREE* node)
{
    if (node == NULL || node->production == 0)
        return 1;

    switch (node->production)
    {
        case 0x01: return ReduceProgram(node);
        case 0x02: return ReduceGstmtStarA(node);
        case 0x03: return ReduceGstmtStarB(node);
        case 0x04: return ReduceGstmtA(node);
        case 0x05: return ReduceStringListA(node);
        case 0x06: return ReduceStringListB(node);
        case 0x07: return ReduceGstmtB(node);
        case 0x08: return ReduceTypeDeclarationA(node);
        case 0x09: return ReduceTypeDeclarationB(node);
        case 0x0A: return ReduceGstmtC(node);
        case 0x0B: return ReduceGstmtD(node);
        case 0x0C: return ReduceParamStarA(node);
        case 0x0D: return ReduceParamStarB(node);
        case 0x0E: return ReduceParamStarC(node);
        case 0x0F: return ReduceBlockA(node);
        case 0x10: return ReduceBlockB(node);
        case 0x11: return ReduceTypeA(node);
        case 0x12: return ReduceTypeB(node);
        case 0x13: return ReduceTypeC(node);
        case 0x14: return ReduceTypeD(node);
        case 0x15: return ReduceFstmtStarA(node);
        case 0x16: return ReduceFstmtStarB(node);
        case 0x17: return ReduceFstmtA(node);
        case 0x18: return ReduceFstmtB(node);
        case 0x19: return ReduceFstmtC(node);
        case 0x1A: return ReduceFstmtD(node);
        case 0x1B: return ReduceFstmtE(node);
        case 0x1C: return ReduceElseA(node);
        case 0x1D: return ReduceElseB(node);
        case 0x1E: return ReduceFstmtF(node);
        case 0x1F: return ReduceFstmtG(node);
        case 0x20: return ReduceFstmtH(node);
        case 0x21: return ReduceFstmtI(node);
        case 0x22: return ReduceFstmtJ(node);
        case 0x23: return ReduceArgStarA(node);
        case 0x24: return ReduceArgStarB(node);
        case 0x25: return ReduceArgStarC(node);
        case 0x26: return ReduceExpr(node);
        case 0x27: return ReduceConditionA(node);
        case 0x28: return ReduceConditionB(node);
        case 0x29: return ReduceConditionC(node);
        case 0x2A: return ReduceLogicA(node);
        case 0x2B: return ReduceLogicB(node);
        case 0x2C: return ReduceComparisonA(node);
        case 0x2D: return ReduceComparisonB(node);
        case 0x2E: return ReduceComparisonC(node);
        case 0x2F: return ReduceComparisonD(node);
        case 0x30: return ReduceComparisonE(node);
        case 0x31: return ReduceComparisonF(node);
        case 0x32: return ReduceComparisonG(node);
        case 0x33: return ReduceArithmeticA(node);
        case 0x34: return ReduceArithmeticB(node);
        case 0x35: return ReduceArithmeticC(node);
        case 0x36: return ReduceTermA(node);
        case 0x37: return ReduceTermB(node);
        case 0x38: return ReduceTermC(node);
        case 0x39: return ReduceTermD(node);
        case 0x3A: return ReduceFactorA(node);
        case 0x3B: return ReduceFactorB(node);
        case 0x3C: return ReduceFactorC(node);
        case 0x3D: return ReduceFinalA(node);
        case 0x3E: return ReduceFinalB(node);
        case 0x3F: return ReduceFinalC(node);
        case 0x40: return ReduceFinalD(node);
        case 0x41: return ReduceFinalE(node);
        case 0x42: return ReduceFinalF(node);
        case 0x43: return ReduceFinalG(node);
        case 0x44: return ReduceBooleanA(node);
        case 0x45: return ReduceBooleanB(node);
    default:
        printf("Unknown production %i.\n", node->production);
        return 1;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x227d
movq -0x10(%rbp), %rax
cmpl $0x0, 0x4(%rax)
jne 0x2289
movl $0x1, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x44, %eax
ja 0x2732
movq -0x18(%rbp), %rax
leaq 0x8d58(%rip), %rcx      # 0xb004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rdi
callq 0x2210
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2760
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x27e0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2800
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2850
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x28d0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2920
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2970
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x29f0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2a70
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2b20
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2c00
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2c80
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2d30
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2d50
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2da0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2df0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2e10
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2e30
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2e50
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2e70
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2ef0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2f10
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2f60
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x2fe0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3090
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x30e0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3190
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x31e0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3200
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3280
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x32a0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x32c0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x32e0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3330
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3380
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3400
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3420
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3470
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x34f0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3570
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x35c0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3610
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3660
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x36e0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3760
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x37e0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3860
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x38e0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3960
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x39b0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3a30
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3ab0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3b00
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3b80
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3c00
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3c80
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3cd0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3d20
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3d70
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3dc0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3e10
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3e60
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3ee0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3f60
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x3fb0
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x4000
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x4050
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rdi
callq 0x4070
movl %eax, -0x4(%rbp)
jmp 0x274e
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x89d8(%rip), %rdi      # 0xb118
movb $0x0, %al
callq 0x2070
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)