// File: /workspace/github_cpp_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq %rdi, 0xb66fd(%rip)     # 0xbd398
callq 0x6b77
movb 0x5dc73(%rip), %al      # 0x64919
cmpb $0x3d, %al
jne 0x6edf
movabsq $0xffffffffff80, %r15   # imm = 0xFFFFFFFFFF80
leaq 0x1(%rbx), %r14
leaq 0x156f9(%rip), %r13     # 0x1c3bc
leaq 0x5dd66(%rip), %r12     # 0x64a30
leaq 0x7f(%r15), %rax
movq %rax, (%rsp)
leaq 0x5dca5(%rip), %rbp     # 0x6497e
callq 0x6b77
movb $0x1, (%rbx)
movzbl 0x5dc31(%rip), %eax     # 0x64919
addl $-0x41, %eax
cmpl $0x39, %eax
ja 0x6e42
movslq (%r13,%rax,4), %rax
addq %r13, %rax
jmpq *%rax
movl $0x2, %edi
callq 0x6bf4
movq %rax, 0x5dc51(%rip)     # 0x64960
jmp 0x6e42
leaq 0x5dc5f(%rip), %rdi     # 0x6497a
jmp 0x6e3d
movl $0x9, %edi
callq 0x6bf4
movq %r12, %rdi
movq %rax, %rsi
callq 0x3c48
movq 0x5dcf4(%rip), %rax     # 0x64a30
shlq $0x17, %rax
cmpq $0x1800000, %rax        # imm = 0x1800000
jne 0x6e61
movq $0x1, 0x5db59(%rip) # 0x648b0
jmp 0x6e42
movq %rbp, %rdi
jmp 0x6e3d
leaq 0x5dc14(%rip), %rdi     # 0x6497f
jmp 0x6e3d
leaq 0x5dc09(%rip), %rdi     # 0x64980
jmp 0x6e3d
movq %r14, %rdi
callq 0x6c57
cmpb $0x1, (%r14)
jne 0x6e8b
movq $0x48, 0x5dacf(%rip) # 0x64868
jmp 0x6e42
leaq 0x5dbd4(%rip), %rdi     # 0x64979
jmp 0x6e3d
movl $0x4, %edi
callq 0x6bf4
movq %rax, 0x5da8d(%rip)     # 0x64848
jmp 0x6e42
movl $0xf, %edi
callq 0x6bf4
movq %r12, %rdi
movq %rax, %rsi
callq 0x3c48
movq 0x5dc54(%rip), %rax     # 0x64a30
andl $0x7f, %eax
movq 0x5dc8a(%rip), %rcx     # 0x64a70
andq %r15, %rcx
orq %rax, %rcx
movq %rcx, 0x5dc7d(%rip)     # 0x64a70
jmp 0x6e42
movl $0x17, %edi
callq 0x6bf4
movq %rax, 0x5daca(%rip)     # 0x648d0
jmp 0x6e42
leaq 0x5db63(%rip), %rdi     # 0x64972
jmp 0x6e3d
leaq 0x5db5f(%rip), %rdi     # 0x64977
jmp 0x6e3d
movl $0x3, %edi
callq 0x6bf4
movq %rax, 0xb6535(%rip)     # 0xbd360
jmp 0x6e42
leaq 0x5db48(%rip), %rdi     # 0x6497c
jmp 0x6e3d
leaq 0x5db3e(%rip), %rdi     # 0x6497b
callq 0x6c57
cmpb $0x1, (%rbx)
jne 0x6e51
movl $0x36, %edi
callq 0x58ff
movb 0x5dac2(%rip), %al      # 0x64919
cmpb $0x2c, %al
je 0x6cd9
jmp 0x6edf
sarq $0x17, %rax
leaq -0x4(%rax), %rcx
cmpq $0x5, %rcx
ja 0x6e98
movb $0x32, %cl
subb %al, %cl
movq 0x5dbf6(%rip), %rax     # 0x64a70
andq (%rsp), %rax
btsq %rcx, %rax
movq %rax, 0x5dbe7(%rip)     # 0x64a70
jmp 0x6e42
movq $0x78, 0x5d9d2(%rip) # 0x64868
jmp 0x6e42
movq %rax, 0x5dc29(%rip)     # 0x64ac8
jmp 0x6e42
movb 0x5da72(%rip), %al      # 0x64919
cmpb $0x29, %al
jne 0x6edf
jmp 0x6ef9
movb 0x5da65(%rip), %al      # 0x64918
movb %al, 0x2(%rbx)
movb $0x2a, 0x5da5b(%rip)    # 0x64918
cmpb $0x1, 0x5daad(%rip)     # 0x64971
jne 0x6ecb
callq 0x65eb
callq 0x6b77
movb 0x2(%rbx), %al
movb %al, 0x5da3f(%rip)      # 0x64918
movb 0x5da3a(%rip), %al      # 0x64919
movl %eax, %ebp
cmpb $0x2a, %al
je 0x6eee
movzbl %bpl, %eax
cmpl $0x7d, %eax
jne 0x6ead
callq 0x6b77
cmpb $0x7d, %bpl
jne 0x6ea1
addq $0x8, %rsp
cmpb $0x7d, %bpl
je 0x6f12
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x6b77
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq