Source/sources/gnu/kawa/slib/pregexp.java
public static java.lang.Object pregexpReadPiece(java.lang.Object r13, java.lang.Object r14, java.lang.Object r15) {
        /*
            r12 = 2
            r11 = 1
            r0 = r13
            java.lang.CharSequence r0 = (java.lang.CharSequence) r0     // Catch:{ ClassCastException -> 0x0222 }
            r8 = r0
            r0 = r14
            java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x022b }
            r9 = r0
            int r9 = r9.intValue()     // Catch:{ ClassCastException -> 0x022b }
            char r1 = kawa.lib.strings.stringRef(r8, r9)
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit9
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x0031
            gnu.mapping.SimpleSymbol r8 = Lit10
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r10 = Lit8
            java.lang.Object r9 = r9.apply2(r14, r10)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
        L_0x0030:
            return r8
        L_0x0031:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit11
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x0050
            gnu.mapping.SimpleSymbol r8 = Lit12
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r10 = Lit8
            java.lang.Object r9 = r9.apply2(r14, r10)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            goto L_0x0030
        L_0x0050:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit13
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x0073
            gnu.mapping.SimpleSymbol r8 = Lit14
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r10 = Lit8
            java.lang.Object r9 = r9.apply2(r14, r10)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x0073:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit15
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x00f0
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r2 = r8.apply2(r14, r9)
            gnu.kawa.functions.NumberCompare r8 = kawa.standard.Scheme.numLss
            java.lang.Object r9 = r8.apply2(r2, r15)
            r0 = r9
            java.lang.Boolean r0 = (java.lang.Boolean) r0     // Catch:{ ClassCastException -> 0x0234 }
            r8 = r0
            boolean r7 = r8.booleanValue()     // Catch:{ ClassCastException -> 0x0234 }
            if (r7 == 0) goto L_0x00e3
            r0 = r13
            java.lang.CharSequence r0 = (java.lang.CharSequence) r0     // Catch:{ ClassCastException -> 0x023e }
            r8 = r0
            r0 = r2
            java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0247 }
            r9 = r0
            int r9 = r9.intValue()     // Catch:{ ClassCastException -> 0x0247 }
            char r8 = kawa.lib.strings.stringRef(r8, r9)
            gnu.text.Char r5 = gnu.text.Char.make(r8)
        L_0x00af:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = Lit9
            java.lang.Object r8 = r8.apply2(r5, r9)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x00eb
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit16
            java.lang.Object r8 = r8.apply2(r14, r9)
            java.lang.Object r6 = pregexpReadCharList(r13, r8, r15)
            gnu.mapping.SimpleSymbol r8 = Lit17
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            java.lang.Object r9 = r9.apply1(r6)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.cadr
            java.lang.Object r9 = r9.apply1(r6)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
        L_0x00dd:
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x00e3:
            if (r7 == 0) goto L_0x00e8
            java.lang.Boolean r5 = java.lang.Boolean.TRUE
            goto L_0x00af
        L_0x00e8:
            java.lang.Boolean r5 = java.lang.Boolean.FALSE
            goto L_0x00af
        L_0x00eb:
            java.lang.Object r8 = pregexpReadCharList(r13, r2, r15)
            goto L_0x00dd
        L_0x00f0:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit18
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x0112
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r8 = r8.apply2(r14, r9)
            java.lang.Object r8 = pregexpReadSubpattern(r13, r8, r15)
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x0112:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit19
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x016f
            java.lang.Object r4 = pregexpReadEscapedNumber(r13, r14, r15)
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r4 == r8) goto L_0x0146
            gnu.mapping.SimpleSymbol r8 = Lit20
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            java.lang.Object r9 = r9.apply1(r4)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.cadr
            java.lang.Object r9 = r9.apply1(r4)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
        L_0x0140:
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x0146:
            java.lang.Object r4 = pregexpReadEscapedChar(r13, r14, r15)
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r4 == r8) goto L_0x015f
            gnu.expr.GenericProc r8 = kawa.lib.C0619lists.car
            java.lang.Object r8 = r8.apply1(r4)
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.cadr
            java.lang.Object r9 = r9.apply1(r4)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            goto L_0x0140
        L_0x015f:
            java.lang.Object[] r8 = new java.lang.Object[r12]
            r9 = 0
            gnu.mapping.SimpleSymbol r10 = Lit21
            r8[r9] = r10
            gnu.mapping.SimpleSymbol r9 = Lit22
            r8[r11] = r9
            java.lang.Object r8 = pregexpError$V(r8)
            goto L_0x0140
        L_0x016f:
            java.lang.Object r7 = $Stpregexp$Mnspace$Mnsensitive$Qu$St
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r7 == r8) goto L_0x018f
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r7 == r8) goto L_0x01a9
        L_0x0179:
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r10 = Lit8
            java.lang.Object r9 = r9.apply2(r14, r10)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x018f:
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            boolean r8 = kawa.lib.rnrs.unicode.isCharWhitespace(r8)
            int r8 = r8 + 1
            r7 = r8 & 1
            if (r7 == 0) goto L_0x01bd
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            gnu.text.Char r9 = Lit1
            boolean r8 = kawa.lib.characters.isChar$Eq(r8, r9)
            if (r8 == 0) goto L_0x0179
        L_0x01a9:
            java.lang.Boolean r3 = java.lang.Boolean.FALSE
        L_0x01ab:
            gnu.kawa.functions.NumberCompare r8 = kawa.standard.Scheme.numGEq
            java.lang.Object r8 = r8.apply2(r14, r15)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x01c0
            gnu.mapping.SimpleSymbol r8 = Lit23
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r14)
            goto L_0x0030
        L_0x01bd:
            if (r7 == 0) goto L_0x01a9
            goto L_0x0179
        L_0x01c0:
            r0 = r13
            java.lang.CharSequence r0 = (java.lang.CharSequence) r0     // Catch:{ ClassCastException -> 0x0250 }
            r8 = r0
            r0 = r14
            java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0259 }
            r9 = r0
            int r9 = r9.intValue()     // Catch:{ ClassCastException -> 0x0259 }
            char r1 = kawa.lib.strings.stringRef(r8, r9)
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r3 == r8) goto L_0x01ee
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r14 = r8.apply2(r14, r9)
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            gnu.text.Char r9 = Lit24
            boolean r8 = kawa.lib.characters.isChar$Eq(r8, r9)
            if (r8 == 0) goto L_0x01eb
            java.lang.Boolean r3 = java.lang.Boolean.FALSE
        L_0x01ea:
            goto L_0x01ab
        L_0x01eb:
            java.lang.Boolean r3 = java.lang.Boolean.TRUE
            goto L_0x01ea
        L_0x01ee:
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            boolean r8 = kawa.lib.rnrs.unicode.isCharWhitespace(r8)
            if (r8 == 0) goto L_0x0203
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r14 = r8.apply2(r14, r9)
            java.lang.Boolean r3 = java.lang.Boolean.FALSE
            goto L_0x01ab
        L_0x0203:
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            gnu.text.Char r9 = Lit1
            boolean r8 = kawa.lib.characters.isChar$Eq(r8, r9)
            if (r8 == 0) goto L_0x021a
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r14 = r8.apply2(r14, r9)
            java.lang.Boolean r3 = java.lang.Boolean.TRUE
            goto L_0x01ab
        L_0x021a:
            gnu.mapping.SimpleSymbol r8 = Lit23
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r14)
            goto L_0x0030
        L_0x0222:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r11, r13)
            throw r9
        L_0x022b:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r12, r14)
            throw r9
        L_0x0234:
            r8 = move-exception
            gnu.mapping.WrongType r10 = new gnu.mapping.WrongType
            java.lang.String r11 = "x"
            r12 = -2
            r10.<init>(r8, r11, r12, r9)
            throw r10
        L_0x023e:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r11, r13)
            throw r9
        L_0x0247:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r12, r2)
            throw r9
        L_0x0250:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r11, r13)
            throw r9
        L_0x0259:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r12, r14)
            throw r9
        */
        throw new UnsupportedOperationException("Method not decompiled: gnu.kawa.slib.pregexp.pregexpReadPiece(java.lang.Object, java.lang.Object, java.lang.Object):java.lang.Object");
    }
/* Code decompiled incorrectly, please refer to instructions dump. */
Code decompiled incorrectly, please refer to instructions dump.
Code decompiled incorrectly please refer to instructions dump .
public static java.lang.Object pregexpReadPiece(java.lang.Object r13, java.lang.Object r14, java.lang.Object r15) {
        /*
            r12 = 2
            r11 = 1
            r0 = r13
            java.lang.CharSequence r0 = (java.lang.CharSequence) r0     // Catch:{ ClassCastException -> 0x0222 }
            r8 = r0
            r0 = r14
            java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x022b }
            r9 = r0
            int r9 = r9.intValue()     // Catch:{ ClassCastException -> 0x022b }
            char r1 = kawa.lib.strings.stringRef(r8, r9)
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit9
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x0031
            gnu.mapping.SimpleSymbol r8 = Lit10
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r10 = Lit8
            java.lang.Object r9 = r9.apply2(r14, r10)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
        L_0x0030:
            return r8
        L_0x0031:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit11
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x0050
            gnu.mapping.SimpleSymbol r8 = Lit12
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r10 = Lit8
            java.lang.Object r9 = r9.apply2(r14, r10)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            goto L_0x0030
        L_0x0050:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit13
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x0073
            gnu.mapping.SimpleSymbol r8 = Lit14
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r10 = Lit8
            java.lang.Object r9 = r9.apply2(r14, r10)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x0073:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit15
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x00f0
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r2 = r8.apply2(r14, r9)
            gnu.kawa.functions.NumberCompare r8 = kawa.standard.Scheme.numLss
            java.lang.Object r9 = r8.apply2(r2, r15)
            r0 = r9
            java.lang.Boolean r0 = (java.lang.Boolean) r0     // Catch:{ ClassCastException -> 0x0234 }
            r8 = r0
            boolean r7 = r8.booleanValue()     // Catch:{ ClassCastException -> 0x0234 }
            if (r7 == 0) goto L_0x00e3
            r0 = r13
            java.lang.CharSequence r0 = (java.lang.CharSequence) r0     // Catch:{ ClassCastException -> 0x023e }
            r8 = r0
            r0 = r2
            java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0247 }
            r9 = r0
            int r9 = r9.intValue()     // Catch:{ ClassCastException -> 0x0247 }
            char r8 = kawa.lib.strings.stringRef(r8, r9)
            gnu.text.Char r5 = gnu.text.Char.make(r8)
        L_0x00af:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = Lit9
            java.lang.Object r8 = r8.apply2(r5, r9)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x00eb
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit16
            java.lang.Object r8 = r8.apply2(r14, r9)
            java.lang.Object r6 = pregexpReadCharList(r13, r8, r15)
            gnu.mapping.SimpleSymbol r8 = Lit17
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            java.lang.Object r9 = r9.apply1(r6)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.cadr
            java.lang.Object r9 = r9.apply1(r6)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
        L_0x00dd:
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x00e3:
            if (r7 == 0) goto L_0x00e8
            java.lang.Boolean r5 = java.lang.Boolean.TRUE
            goto L_0x00af
        L_0x00e8:
            java.lang.Boolean r5 = java.lang.Boolean.FALSE
            goto L_0x00af
        L_0x00eb:
            java.lang.Object r8 = pregexpReadCharList(r13, r2, r15)
            goto L_0x00dd
        L_0x00f0:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit18
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x0112
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r8 = r8.apply2(r14, r9)
            java.lang.Object r8 = pregexpReadSubpattern(r13, r8, r15)
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x0112:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit19
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x016f
            java.lang.Object r4 = pregexpReadEscapedNumber(r13, r14, r15)
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r4 == r8) goto L_0x0146
            gnu.mapping.SimpleSymbol r8 = Lit20
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            java.lang.Object r9 = r9.apply1(r4)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.cadr
            java.lang.Object r9 = r9.apply1(r4)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
        L_0x0140:
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x0146:
            java.lang.Object r4 = pregexpReadEscapedChar(r13, r14, r15)
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r4 == r8) goto L_0x015f
            gnu.expr.GenericProc r8 = kawa.lib.C0619lists.car
            java.lang.Object r8 = r8.apply1(r4)
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.cadr
            java.lang.Object r9 = r9.apply1(r4)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            goto L_0x0140
        L_0x015f:
            java.lang.Object[] r8 = new java.lang.Object[r12]
            r9 = 0
            gnu.mapping.SimpleSymbol r10 = Lit21
            r8[r9] = r10
            gnu.mapping.SimpleSymbol r9 = Lit22
            r8[r11] = r9
            java.lang.Object r8 = pregexpError$V(r8)
            goto L_0x0140
        L_0x016f:
            java.lang.Object r7 = $Stpregexp$Mnspace$Mnsensitive$Qu$St
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r7 == r8) goto L_0x018f
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r7 == r8) goto L_0x01a9
        L_0x0179:
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r10 = Lit8
            java.lang.Object r9 = r9.apply2(r14, r10)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x018f:
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            boolean r8 = kawa.lib.rnrs.unicode.isCharWhitespace(r8)
            int r8 = r8 + 1
            r7 = r8 & 1
            if (r7 == 0) goto L_0x01bd
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            gnu.text.Char r9 = Lit1
            boolean r8 = kawa.lib.characters.isChar$Eq(r8, r9)
            if (r8 == 0) goto L_0x0179
        L_0x01a9:
            java.lang.Boolean r3 = java.lang.Boolean.FALSE
        L_0x01ab:
            gnu.kawa.functions.NumberCompare r8 = kawa.standard.Scheme.numGEq
            java.lang.Object r8 = r8.apply2(r14, r15)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x01c0
            gnu.mapping.SimpleSymbol r8 = Lit23
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r14)
            goto L_0x0030
        L_0x01bd:
            if (r7 == 0) goto L_0x01a9
            goto L_0x0179
        L_0x01c0:
            r0 = r13
            java.lang.CharSequence r0 = (java.lang.CharSequence) r0     // Catch:{ ClassCastException -> 0x0250 }
            r8 = r0
            r0 = r14
            java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0259 }
            r9 = r0
            int r9 = r9.intValue()     // Catch:{ ClassCastException -> 0x0259 }
            char r1 = kawa.lib.strings.stringRef(r8, r9)
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r3 == r8) goto L_0x01ee
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r14 = r8.apply2(r14, r9)
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            gnu.text.Char r9 = Lit24
            boolean r8 = kawa.lib.characters.isChar$Eq(r8, r9)
            if (r8 == 0) goto L_0x01eb
            java.lang.Boolean r3 = java.lang.Boolean.FALSE
        L_0x01ea:
            goto L_0x01ab
        L_0x01eb:
            java.lang.Boolean r3 = java.lang.Boolean.TRUE
            goto L_0x01ea
        L_0x01ee:
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            boolean r8 = kawa.lib.rnrs.unicode.isCharWhitespace(r8)
            if (r8 == 0) goto L_0x0203
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r14 = r8.apply2(r14, r9)
            java.lang.Boolean r3 = java.lang.Boolean.FALSE
            goto L_0x01ab
        L_0x0203:
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            gnu.text.Char r9 = Lit1
            boolean r8 = kawa.lib.characters.isChar$Eq(r8, r9)
            if (r8 == 0) goto L_0x021a
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r14 = r8.apply2(r14, r9)
            java.lang.Boolean r3 = java.lang.Boolean.TRUE
            goto L_0x01ab
        L_0x021a:
            gnu.mapping.SimpleSymbol r8 = Lit23
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r14)
            goto L_0x0030
        L_0x0222:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r11, r13)
            throw r9
        L_0x022b:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r12, r14)
            throw r9
        L_0x0234:
            r8 = move-exception
            gnu.mapping.WrongType r10 = new gnu.mapping.WrongType
            java.lang.String r11 = "x"
            r12 = -2
            r10.<init>(r8, r11, r12, r9)
            throw r10
        L_0x023e:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r11, r13)
            throw r9
        L_0x0247:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r12, r2)
            throw r9
        L_0x0250:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r11, r13)
            throw r9
        L_0x0259:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r12, r14)
            throw r9
        */
        throw new UnsupportedOperationException("Method not decompiled: gnu.kawa.slib.pregexp.pregexpReadPiece(java.lang.Object, java.lang.Object, java.lang.Object):java.lang.Object");
    }
public static java . lang . Object pregexpReadPiece ( java . lang . Object r13 , java . lang . Object r14 , java . lang . Object r15 ) { /*
            r12 = 2
            r11 = 1
            r0 = r13
            java.lang.CharSequence r0 = (java.lang.CharSequence) r0     // Catch:{ ClassCastException -> 0x0222 }
            r8 = r0
            r0 = r14
            java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x022b }
            r9 = r0
            int r9 = r9.intValue()     // Catch:{ ClassCastException -> 0x022b }
            char r1 = kawa.lib.strings.stringRef(r8, r9)
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit9
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x0031
            gnu.mapping.SimpleSymbol r8 = Lit10
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r10 = Lit8
            java.lang.Object r9 = r9.apply2(r14, r10)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
        L_0x0030:
            return r8
        L_0x0031:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit11
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x0050
            gnu.mapping.SimpleSymbol r8 = Lit12
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r10 = Lit8
            java.lang.Object r9 = r9.apply2(r14, r10)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            goto L_0x0030
        L_0x0050:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit13
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x0073
            gnu.mapping.SimpleSymbol r8 = Lit14
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r10 = Lit8
            java.lang.Object r9 = r9.apply2(r14, r10)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x0073:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit15
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x00f0
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r2 = r8.apply2(r14, r9)
            gnu.kawa.functions.NumberCompare r8 = kawa.standard.Scheme.numLss
            java.lang.Object r9 = r8.apply2(r2, r15)
            r0 = r9
            java.lang.Boolean r0 = (java.lang.Boolean) r0     // Catch:{ ClassCastException -> 0x0234 }
            r8 = r0
            boolean r7 = r8.booleanValue()     // Catch:{ ClassCastException -> 0x0234 }
            if (r7 == 0) goto L_0x00e3
            r0 = r13
            java.lang.CharSequence r0 = (java.lang.CharSequence) r0     // Catch:{ ClassCastException -> 0x023e }
            r8 = r0
            r0 = r2
            java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0247 }
            r9 = r0
            int r9 = r9.intValue()     // Catch:{ ClassCastException -> 0x0247 }
            char r8 = kawa.lib.strings.stringRef(r8, r9)
            gnu.text.Char r5 = gnu.text.Char.make(r8)
        L_0x00af:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = Lit9
            java.lang.Object r8 = r8.apply2(r5, r9)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x00eb
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit16
            java.lang.Object r8 = r8.apply2(r14, r9)
            java.lang.Object r6 = pregexpReadCharList(r13, r8, r15)
            gnu.mapping.SimpleSymbol r8 = Lit17
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            java.lang.Object r9 = r9.apply1(r6)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.cadr
            java.lang.Object r9 = r9.apply1(r6)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
        L_0x00dd:
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x00e3:
            if (r7 == 0) goto L_0x00e8
            java.lang.Boolean r5 = java.lang.Boolean.TRUE
            goto L_0x00af
        L_0x00e8:
            java.lang.Boolean r5 = java.lang.Boolean.FALSE
            goto L_0x00af
        L_0x00eb:
            java.lang.Object r8 = pregexpReadCharList(r13, r2, r15)
            goto L_0x00dd
        L_0x00f0:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit18
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x0112
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r8 = r8.apply2(r14, r9)
            java.lang.Object r8 = pregexpReadSubpattern(r13, r8, r15)
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x0112:
            gnu.kawa.functions.IsEqv r8 = kawa.standard.Scheme.isEqv
            gnu.text.Char r9 = gnu.text.Char.make(r1)
            gnu.text.Char r10 = Lit19
            java.lang.Object r8 = r8.apply2(r9, r10)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x016f
            java.lang.Object r4 = pregexpReadEscapedNumber(r13, r14, r15)
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r4 == r8) goto L_0x0146
            gnu.mapping.SimpleSymbol r8 = Lit20
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.car
            java.lang.Object r9 = r9.apply1(r4)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.cadr
            java.lang.Object r9 = r9.apply1(r4)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
        L_0x0140:
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x0146:
            java.lang.Object r4 = pregexpReadEscapedChar(r13, r14, r15)
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r4 == r8) goto L_0x015f
            gnu.expr.GenericProc r8 = kawa.lib.C0619lists.car
            java.lang.Object r8 = r8.apply1(r4)
            gnu.expr.GenericProc r9 = kawa.lib.C0619lists.cadr
            java.lang.Object r9 = r9.apply1(r4)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            goto L_0x0140
        L_0x015f:
            java.lang.Object[] r8 = new java.lang.Object[r12]
            r9 = 0
            gnu.mapping.SimpleSymbol r10 = Lit21
            r8[r9] = r10
            gnu.mapping.SimpleSymbol r9 = Lit22
            r8[r11] = r9
            java.lang.Object r8 = pregexpError$V(r8)
            goto L_0x0140
        L_0x016f:
            java.lang.Object r7 = $Stpregexp$Mnspace$Mnsensitive$Qu$St
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r7 == r8) goto L_0x018f
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r7 == r8) goto L_0x01a9
        L_0x0179:
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            gnu.kawa.functions.AddOp r9 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r10 = Lit8
            java.lang.Object r9 = r9.apply2(r14, r10)
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r9)
            java.lang.Object r8 = pregexpWrapQuantifierIfAny(r8, r13, r15)
            goto L_0x0030
        L_0x018f:
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            boolean r8 = kawa.lib.rnrs.unicode.isCharWhitespace(r8)
            int r8 = r8 + 1
            r7 = r8 & 1
            if (r7 == 0) goto L_0x01bd
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            gnu.text.Char r9 = Lit1
            boolean r8 = kawa.lib.characters.isChar$Eq(r8, r9)
            if (r8 == 0) goto L_0x0179
        L_0x01a9:
            java.lang.Boolean r3 = java.lang.Boolean.FALSE
        L_0x01ab:
            gnu.kawa.functions.NumberCompare r8 = kawa.standard.Scheme.numGEq
            java.lang.Object r8 = r8.apply2(r14, r15)
            java.lang.Boolean r9 = java.lang.Boolean.FALSE
            if (r8 == r9) goto L_0x01c0
            gnu.mapping.SimpleSymbol r8 = Lit23
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r14)
            goto L_0x0030
        L_0x01bd:
            if (r7 == 0) goto L_0x01a9
            goto L_0x0179
        L_0x01c0:
            r0 = r13
            java.lang.CharSequence r0 = (java.lang.CharSequence) r0     // Catch:{ ClassCastException -> 0x0250 }
            r8 = r0
            r0 = r14
            java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0259 }
            r9 = r0
            int r9 = r9.intValue()     // Catch:{ ClassCastException -> 0x0259 }
            char r1 = kawa.lib.strings.stringRef(r8, r9)
            java.lang.Boolean r8 = java.lang.Boolean.FALSE
            if (r3 == r8) goto L_0x01ee
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r14 = r8.apply2(r14, r9)
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            gnu.text.Char r9 = Lit24
            boolean r8 = kawa.lib.characters.isChar$Eq(r8, r9)
            if (r8 == 0) goto L_0x01eb
            java.lang.Boolean r3 = java.lang.Boolean.FALSE
        L_0x01ea:
            goto L_0x01ab
        L_0x01eb:
            java.lang.Boolean r3 = java.lang.Boolean.TRUE
            goto L_0x01ea
        L_0x01ee:
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            boolean r8 = kawa.lib.rnrs.unicode.isCharWhitespace(r8)
            if (r8 == 0) goto L_0x0203
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r14 = r8.apply2(r14, r9)
            java.lang.Boolean r3 = java.lang.Boolean.FALSE
            goto L_0x01ab
        L_0x0203:
            gnu.text.Char r8 = gnu.text.Char.make(r1)
            gnu.text.Char r9 = Lit1
            boolean r8 = kawa.lib.characters.isChar$Eq(r8, r9)
            if (r8 == 0) goto L_0x021a
            gnu.kawa.functions.AddOp r8 = gnu.kawa.functions.AddOp.$Pl
            gnu.math.IntNum r9 = Lit8
            java.lang.Object r14 = r8.apply2(r14, r9)
            java.lang.Boolean r3 = java.lang.Boolean.TRUE
            goto L_0x01ab
        L_0x021a:
            gnu.mapping.SimpleSymbol r8 = Lit23
            gnu.lists.Pair r8 = gnu.lists.LList.list2(r8, r14)
            goto L_0x0030
        L_0x0222:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r11, r13)
            throw r9
        L_0x022b:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r12, r14)
            throw r9
        L_0x0234:
            r8 = move-exception
            gnu.mapping.WrongType r10 = new gnu.mapping.WrongType
            java.lang.String r11 = "x"
            r12 = -2
            r10.<init>(r8, r11, r12, r9)
            throw r10
        L_0x023e:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r11, r13)
            throw r9
        L_0x0247:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r12, r2)
            throw r9
        L_0x0250:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r11, r13)
            throw r9
        L_0x0259:
            r8 = move-exception
            gnu.mapping.WrongType r9 = new gnu.mapping.WrongType
            java.lang.String r10 = "string-ref"
            r9.<init>(r8, r10, r12, r14)
            throw r9
        */ throw new UnsupportedOperationException ( "Method not decompiled: gnu.kawa.slib.pregexp.pregexpReadPiece(java.lang.Object, java.lang.Object, java.lang.Object):java.lang.Object" ) ; }
Code decompiled incorrectly, please refer to instructions dump.
Code decompiled incorrectly please refer to instructions dump .