generate.c
static void code_loop_until_statement(GenerateContext *c, ParseTreeNode *node)
{
    VMUVALUE nxt, inst;
    nxt = codeaddr(c);
    code_statement_list(c, node->u.loopStatement.bodyStatements);
    code_rvalue(c, node->u.loopStatement.test);
    inst = putcbyte(c, OP_BRF);
    putcword(c, nxt - inst - 1 - sizeof(VMVALUE));
}
/* code_loop_until_statement - generate code for a LOOP UNTIL statement */
generate code for a LOOP UNTIL statement
generate code for a LOOP UNTIL statement
static void code_loop_until_statement(GenerateContext *c, ParseTreeNode *node)
{
    VMUVALUE nxt, inst;
    nxt = codeaddr(c);
    code_statement_list(c, node->u.loopStatement.bodyStatements);
    code_rvalue(c, node->u.loopStatement.test);
    inst = putcbyte(c, OP_BRF);
    putcword(c, nxt - inst - 1 - sizeof(VMVALUE));
}
static void code_loop_until_statement ( GenerateContext * c , ParseTreeNode * node ) { VMUVALUE nxt , inst ; nxt = codeaddr ( c ) ; code_statement_list ( c , node -> u . loopStatement . bodyStatements ) ; code_rvalue ( c , node -> u . loopStatement . test ) ; inst = putcbyte ( c , OP_BRF ) ; putcword ( c , nxt - inst - 1 - sizeof ( VMVALUE ) ) ; }
code_loop_until_statement - generate code for a LOOP UNTIL statement
code_loop_until_statement - generate code for a LOOP UNTIL statement