// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_trans_bracket
er_t xoico_che_s_trans_bracket( xoico_che_s* o, x_source* source, xoico_che_result* result, xoico_typespec_s* out_typespec )
{
    // xoico_che.x:1310:1
    
    BLM_TRY(x_source_parse_fa(source,"(" ))
    BLM_TRY(xoico_che_result_a_push_char(result,'(' ))
    while( !x_source_eos(source) )
    {
        BLM_TRY(xoico_che_s_trans_expression(o,source, result, out_typespec ))
        if     ( x_source_parse_bl(source,"#?')'" ) ) break;
        else if( x_source_parse_bl(source,"#?','" ) ) BLM_TRY(xoico_che_result_a_push_char(result,',' ))
        else return  x_source_parse_error_fa(source,"Syntax error in bracket expression." );
        if( out_typespec ) out_typespec->type = 0;
    }
    BLM_TRY(xoico_che_result_a_push_char(result,')' ))
    return  0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x10a5e0(%rip), %rsi    # 0x133846
movb $0x0, %al
callq 0x4a20
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x2929c
movq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x1890a9(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x29414
movq -0x20(%rbp), %rdi
movl $0x28, %esi
callq 0x23c70
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0x292d9
movq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x18906c(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x29414
jmp 0x292db
movq -0x18(%rbp), %rdi
callq 0x6730
xorb $-0x1, %al
testb $0x1, %al
jne 0x292ef
jmp 0x293d2
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x27f50
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x29333
movq -0x50(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x189012(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x58(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x29414
movq -0x18(%rbp), %rdi
leaq 0x10b0a8(%rip), %rsi    # 0x1343e6
callq 0x6700
testb $0x1, %al
jne 0x29349
jmp 0x2934e
jmp 0x293d2
movq -0x18(%rbp), %rdi
leaq 0x10c314(%rip), %rsi    # 0x13566d
callq 0x6700
testb $0x1, %al
jne 0x29364
jmp 0x293a0
movq -0x20(%rbp), %rdi
movl $0x2c, %esi
callq 0x23c70
movq %rax, -0x60(%rbp)
cmpq $0x0, -0x60(%rbp)
je 0x2939e
movq -0x60(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x188fa4(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x68(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x29414
jmp 0x293b8
movq -0x18(%rbp), %rdi
leaq 0x10da1f(%rip), %rsi    # 0x136dca
movb $0x0, %al
callq 0x4c80
movq %rax, -0x8(%rbp)
jmp 0x29414
jmp 0x293ba
cmpq $0x0, -0x28(%rbp)
je 0x293cd
movq -0x28(%rbp), %rax
movq $0x0, 0x8(%rax)
jmp 0x292db
movq -0x20(%rbp), %rdi
movl $0x29, %esi
callq 0x23c70
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
je 0x2940c
movq -0x70(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x188f36(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x78(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x29414
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)