parse.c
static void ParseElse(ParseContext *c)
{
    switch (c->bptr->type) {
    case BLOCK_IF:
        c->bptr->type = BLOCK_ELSE;
        c->bptr->pNextStatement = &c->bptr->node->u.ifStatement.elseStatements;
        FRequire(c, T_EOL);
        break;
    default:
        ParseError(c, "ELSE without a matching IF");
        break;
    }
}
/* ParseElse - parse the 'ELSE' statement */
parse the 'ELSE' statement
parse the ' ELSE ' statement
static void ParseElse(ParseContext *c)
{
    switch (c->bptr->type) {
    case BLOCK_IF:
        c->bptr->type = BLOCK_ELSE;
        c->bptr->pNextStatement = &c->bptr->node->u.ifStatement.elseStatements;
        FRequire(c, T_EOL);
        break;
    default:
        ParseError(c, "ELSE without a matching IF");
        break;
    }
}
static void ParseElse ( ParseContext * c ) { switch ( c -> bptr -> type ) { case BLOCK_IF : c -> bptr -> type = BLOCK_ELSE ; c -> bptr -> pNextStatement = & c -> bptr -> node -> u . ifStatement . elseStatements ; FRequire ( c , T_EOL ) ; break ; default : ParseError ( c , " " ) ; break ; } }
ParseElse - parse the 'ELSE' statement
ParseElse - parse the ' ELSE ' statement