// File: besm6[P]pascal-re/pascompl.cc
// Function: parseComment::parseComment()
parseComment::parseComment()
{
    super = this;
    nextCH();
    if (CH == '=') {
        do {
            nextCH();
            badOpt = true;
            switch (CH) {
            case 'D': case 'd': {
                curVal.i = readOptVal(15);
                optSflags.m = optSflags.m * BitRange(0, 40) + curVal.m * BitRange(41, 47);
            } break;
            case 'Y': case 'y':
                readOptFlag(allowCompat);
                break;
            case 'E': case 'e':
                readOptFlag(declExternal);
                break;
            case 'U': case 'u': {
                readOptFlag(flag);
                if (flag) maxLineLen = 72; else maxLineLen = 120;
            }; break;
            case 'S': case 's': {
                curVal.i = readOptVal(9);
                if (curVal.i == 3)
                    lineCnt = 1;
                else if (4 <= curVal.i && curVal.i <= 9)
                    optSflags.m = optSflags.m + Bits(curVal.i - 3);
                else {
                    extSymAdornment = curVal.i;
                }
            } break;
            case 'F': case 'f':
                readOptFlag(checkFortran);
                break;
            case 'L': case 'l':
                PASINFOR.listMode = readOptVal(3);
                break;
            case 'P': case 'p':
                readOptFlag(doPMD);
                break;
            case 'T': case 't':
                readOptFlag(checkBounds);
                break;
            case 'A': case 'a':
                charEncoding = readOptVal(2);
                break;
            case 'C': case 'c':
                readOptFlag(checkTypes);
                break;
            case 'R': case 'r':
                readOptFlag(fuzzReals);
                break;
            case 'M': case 'm':
                readOptFlag(fixMult);
                break;
            case 'B': case 'b':
                fileBufSize = readOptVal(4);
                break;
            case 'K': case 'k':
                heapSize = readOptVal(23);
                break;
            case 'Z': case 'z':
                readOptFlag(pseudoZ);
                break;
            }
            if (badOpt)
                error(54); /* errErrorInPseudoComment */
        } while (CH == ',');
    }; /* 1446 */
    bool brace;
    do {
        while (CH != '*' && CH != '}') {
            c = commentModeCH;
            commentModeCH = '*';
            if (atEOL)
                endOfLine();
            nextCH();
            commentModeCH = c;
        };
        brace = (CH == '}');
        nextCH();
    } while (!brace && CH != ')');
    if (!brace)
        nextCH();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq %rax, 0xcf69d(%rip)     # 0xd8a58
callq 0x91f0
movzbl 0x76c12(%rip), %eax     # 0x7ffd9
cmpl $0x3d, %eax
jne 0x967b
jmp 0x93d2
callq 0x91f0
movq -0x50(%rbp), %rax
movb $0x1, (%rax)
movzbl 0x76bf4(%rip), %eax     # 0x7ffd9
addl $-0x41, %eax
movl %eax, %ecx
movq %rcx, -0x58(%rbp)
subl $0x39, %eax
ja 0x9654
movq -0x58(%rbp), %rax
leaq 0x27f02(%rip), %rcx     # 0x31304
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0xf, %edi
callq 0x92b0
movq %rax, %rsi
leaq 0x76cd1(%rip), %rdi     # 0x800f0
callq 0x4ad0
xorl %eax, %eax
movl %eax, %edi
movl $0x28, %esi
callq 0x4a60
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rsi
leaq 0x76cef(%rip), %rdi     # 0x80130
callq 0x1e580
movq %rax, -0x18(%rbp)
movl $0x29, %edi
movl $0x2f, %esi
callq 0x4a60
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rsi
leaq 0x76c88(%rip), %rdi     # 0x800f0
callq 0x1e580
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rsi
leaq -0x18(%rbp), %rdi
callq 0x1db20
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, 0x76ca3(%rip)     # 0x80130
jmp 0x9654
leaq 0x76ba6(%rip), %rdi     # 0x8003f
callq 0x9340
jmp 0x9654
leaq 0x76b8d(%rip), %rdi     # 0x80037
callq 0x9340
jmp 0x9654
movq -0x50(%rbp), %rdi
addq $0x1, %rdi
callq 0x9340
movq -0x50(%rbp), %rax
testb $0x1, 0x1(%rax)
je 0x94d8
movq $0x48, 0x76a52(%rip) # 0x7ff28
jmp 0x94e3
movq $0x78, 0x76a45(%rip) # 0x7ff28
jmp 0x9654
movl $0x9, %edi
callq 0x92b0
movq %rax, %rsi
leaq 0x76bf4(%rip), %rdi     # 0x800f0
callq 0x4ad0
leaq 0x76be8(%rip), %rdi     # 0x800f0
callq 0x1dfb0
cmpq $0x3, %rax
jne 0x9520
movq $0x1, 0x76a52(%rip) # 0x7ff70
jmp 0x959d
leaq 0x76bc9(%rip), %rdi     # 0x800f0
callq 0x1dfb0
movq %rax, %rcx
movl $0x4, %eax
cmpq %rcx, %rax
jg 0x9588
leaq 0x76bb0(%rip), %rdi     # 0x800f0
callq 0x1dfb0
cmpq $0x9, %rax
jg 0x9588
leaq 0x76b9e(%rip), %rdi     # 0x800f0
callq 0x1dfb0
movq %rax, %rdi
subq $0x3, %rdi
callq 0x48e0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rsi
leaq 0x76bbe(%rip), %rdi     # 0x80130
callq 0x1db20
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, 0x76baa(%rip)     # 0x80130
jmp 0x959b
leaq 0x76b61(%rip), %rdi     # 0x800f0
callq 0x1dfb0
movq %rax, 0x76bed(%rip)     # 0x80188
jmp 0x959d
jmp 0x9654
leaq 0x76a97(%rip), %rdi     # 0x80040
callq 0x9340
jmp 0x9654
movl $0x3, %edi
callq 0x92b0
movq %rax, 0xcf45c(%rip)     # 0xd8a20
jmp 0x9654
leaq 0x76a69(%rip), %rdi     # 0x80039
callq 0x9340
jmp 0x9654
leaq 0x76a5c(%rip), %rdi     # 0x8003a
callq 0x9340
jmp 0x9654
movl $0x2, %edi
callq 0x92b0
movq %rax, 0x76a2a(%rip)     # 0x80020
jmp 0x9654
leaq 0x76a33(%rip), %rdi     # 0x80032
callq 0x9340
jmp 0x9654
leaq 0x76a2e(%rip), %rdi     # 0x8003b
callq 0x9340
jmp 0x9654
leaq 0x76a21(%rip), %rdi     # 0x8003c
callq 0x9340
jmp 0x9654
movl $0x4, %edi
callq 0x92b0
movq %rax, 0x768d5(%rip)     # 0x7ff08
jmp 0x9654
movl $0x17, %edi
callq 0x92b0
movq %rax, 0x7694a(%rip)     # 0x7ff90
jmp 0x9654
leaq 0x769ef(%rip), %rdi     # 0x8003e
callq 0x9340
movq -0x50(%rbp), %rax
testb $0x1, (%rax)
je 0x9667
movl $0x36, %edi
callq 0x7b40
jmp 0x9669
movzbl 0x76969(%rip), %eax     # 0x7ffd9
cmpl $0x2c, %eax
je 0x93d2
jmp 0x967b
jmp 0x967d
jmp 0x967f
movzbl 0x76953(%rip), %ecx     # 0x7ffd9
xorl %eax, %eax
cmpl $0x2a, %ecx
movb %al, -0x59(%rbp)
je 0x96a0
movzbl 0x76942(%rip), %eax     # 0x7ffd9
cmpl $0x7d, %eax
setne %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
testb $0x1, %al
jne 0x96a9
jmp 0x96df
movq -0x50(%rbp), %rax
movb 0x76925(%rip), %cl      # 0x7ffd8
movb %cl, 0x2(%rax)
movb $0x2a, 0x7691b(%rip)    # 0x7ffd8
testb $0x1, 0x7696d(%rip)     # 0x80031
je 0x96cb
callq 0x8d10
callq 0x91f0
movq -0x50(%rbp), %rax
movb 0x2(%rax), %al
movb %al, 0x768fb(%rip)      # 0x7ffd8
jmp 0x967f
movzbl 0x768f3(%rip), %eax     # 0x7ffd9
cmpl $0x7d, %eax
sete %al
andb $0x1, %al
movb %al, -0x41(%rbp)
callq 0x91f0
xorl %eax, %eax
testb $0x1, -0x41(%rbp)
movb %al, -0x5a(%rbp)
jne 0x9711
movzbl 0x768d1(%rip), %eax     # 0x7ffd9
cmpl $0x29, %eax
setne %al
movb %al, -0x5a(%rbp)
movb -0x5a(%rbp), %al
testb $0x1, %al
jne 0x967d
testb $0x1, -0x41(%rbp)
jne 0x9727
callq 0x91f0
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)