public void addCTypeByRange(int ctype, boolean not, ScanEnvironment env, int sbOut, int mbr[]) {
        int n = mbr[0];
        int i;

        if (!not) {
            for (i=0; i<n; i++) {
                for (int j=CR_FROM(mbr, i); j<=CR_TO(mbr, i); j++) {
                    if (j >= sbOut) {
                        if (j > CR_FROM(mbr, i)) {
                            addCodeRangeToBuf(env, j, CR_TO(mbr, i));
                            i++;
                        }
                        // !goto sb_end!, remove duplication!
                        for (; i<n; i++) {
                            addCodeRangeToBuf(env, CR_FROM(mbr, i), CR_TO(mbr, i));
                        }
                        return;
                    }
                    bs.set(env, j);
                }
            }
            // !sb_end:!
            for (; i<n; i++) {
                addCodeRangeToBuf(env, CR_FROM(mbr, i), CR_TO(mbr, i));
            }

        } else {
            int prev = 0;

            for (i=0; i<n; i++) {
                for (int j=prev; j < CR_FROM(mbr, i); j++) {
                    if (j >= sbOut) {
                        // !goto sb_end2!, remove duplication
                        prev = sbOut;
                        for (i=0; i<n; i++) {
                            if (prev < CR_FROM(mbr, i)) addCodeRangeToBuf(env, prev, CR_FROM(mbr, i) - 1);
                            prev = CR_TO(mbr, i) + 1;
                        }
                        if (prev < 0x7fffffff/*!!!*/) addCodeRangeToBuf(env, prev, 0x7fffffff);
                        return;
                    }
                    bs.set(env, j);
                }
                prev = CR_TO(mbr, i) + 1;
            }

            for (int j=prev; j<sbOut; j++) {
                bs.set(env, j);
            }

            // !sb_end2:!
            prev = sbOut;
            for (i=0; i<n; i++) {
                if (prev < CR_FROM(mbr, i)) addCodeRangeToBuf(env, prev, CR_FROM(mbr, i) - 1);
                prev = CR_TO(mbr, i) + 1;
            }
            if (prev < 0x7fffffff/*!!!*/) addCodeRangeToBuf(env, prev, 0x7fffffff);
        }
    }
public void addCTypeByRange ( int ctype , boolean not , ScanEnvironment env , int sbOut , int mbr [ ] ) { int n = mbr [ 0 ] ; int i ; if ( ! not ) { for ( i = 0 ; i < n ; i ++ ) { for ( int j = CR_FROM ( mbr , i ) ; j <= CR_TO ( mbr , i ) ; j ++ ) { if ( j >= sbOut ) { if ( j > CR_FROM ( mbr , i ) ) { addCodeRangeToBuf ( env , j , CR_TO ( mbr , i ) ) ; i ++ ; } for ( ; i < n ; i ++ ) { addCodeRangeToBuf ( env , CR_FROM ( mbr , i ) , CR_TO ( mbr , i ) ) ; } return ; } bs . set ( env , j ) ; } } for ( ; i < n ; i ++ ) { addCodeRangeToBuf ( env , CR_FROM ( mbr , i ) , CR_TO ( mbr , i ) ) ; } } else { int prev = 0 ; for ( i = 0 ; i < n ; i ++ ) { for ( int j = prev ; j < CR_FROM ( mbr , i ) ; j ++ ) { if ( j >= sbOut ) { prev = sbOut ; for ( i = 0 ; i < n ; i ++ ) { if ( prev < CR_FROM ( mbr , i ) ) addCodeRangeToBuf ( env , prev , CR_FROM ( mbr , i ) - 1 ) ; prev = CR_TO ( mbr , i ) + 1 ; } if ( prev < 0x7fffffff ) addCodeRangeToBuf ( env , prev , 0x7fffffff ) ; return ; } bs . set ( env , j ) ; } prev = CR_TO ( mbr , i ) + 1 ; } for ( int j = prev ; j < sbOut ; j ++ ) { bs . set ( env , j ) ; } prev = sbOut ; for ( i = 0 ; i < n ; i ++ ) { if ( prev < CR_FROM ( mbr , i ) ) addCodeRangeToBuf ( env , prev , CR_FROM ( mbr , i ) - 1 ) ; prev = CR_TO ( mbr , i ) + 1 ; } if ( prev < 0x7fffffff ) addCodeRangeToBuf ( env , prev , 0x7fffffff ) ; } }
add_ctype_to_cc_by_range // Encoding out!