asm/asm.c
static struct Label *label_parent(struct Label *l) {
    while (l != NULL && l->sub) {
        l = l->next;
    }
    return l;
}
// returns parent label of label (previous non-sub) or NULL if there is no
// such label. returns NULL for NULL label, l for non-sub labels.
returns parent label of label (previous non-sub) or NULL if there is no
such label. returns NULL for NULL label, l for non-sub labels.
returns parent label of label ( previous non - sub ) or NULL if there is no such label . returns NULL for NULL label l for non - sub labels .
static struct Label *label_parent(struct Label *l) {
    while (l != NULL && l->sub) {
        l = l->next;
    }
    return l;
}
static struct Label * label_parent ( struct Label * l ) { while ( l != NULL && l -> sub ) { l = l -> next ; } return l ; }
returns parent label of label (previous non-sub) or NULL if there is no
such label.
returns parent label of label ( previous non - sub ) or NULL if there is no such label .