// File: /workspace/github_cpp_makefile_star2_O1/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, 0xb682d(%rip)     # 0xbd3a8
callq 0x6a5c
cmpb $0x3d, 0x5dda2(%rip)    # 0x64929
jne 0x6dc3
movabsq $0xffffffffff80, %r15   # imm = 0xFFFFFFFFFF80
leaq 0x1(%rbx), %r14
leaq 0x156f2(%rip), %r13     # 0x1c294
leaq 0x5de97(%rip), %r12     # 0x64a40
leaq 0x7f(%r15), %rax
movq %rax, (%rsp)
leaq 0x5ddd6(%rip), %rbp     # 0x6498e
callq 0x6a5c
movb $0x1, (%rbx)
movzbl 0x5dd62(%rip), %eax     # 0x64929
addl $-0x41, %eax
cmpl $0x39, %eax
ja 0x6d17
movslq (%r13,%rax,4), %rax
addq %r13, %rax
jmpq *%rax
movl $0x2, %edi
callq 0x6ad4
movq %rax, 0x5dd82(%rip)     # 0x64970
jmp 0x6d17
leaq 0x5dd90(%rip), %rdi     # 0x6498a
jmp 0x6d12
movl $0x9, %edi
callq 0x6ad4
movq %r12, %rdi
movq %rax, %rsi
callq 0x3bf2
movq 0x5de25(%rip), %rax     # 0x64a40
shlq $0x17, %rax
cmpq $0x1800000, %rax        # imm = 0x1800000
jne 0x6d38
movq $0x1, 0x5dc8a(%rip) # 0x648c0
jmp 0x6d17
movq %rbp, %rdi
jmp 0x6d12
leaq 0x5dd45(%rip), %rdi     # 0x6498f
jmp 0x6d12
leaq 0x5dd3a(%rip), %rdi     # 0x64990
jmp 0x6d12
movq %r14, %rdi
callq 0x6b37
cmpb $0x1, (%r14)
jne 0x6d76
movq $0x48, 0x5dc00(%rip) # 0x64878
jmp 0x6d17
leaq 0x5dd05(%rip), %rdi     # 0x64989
jmp 0x6d12
movl $0x4, %edi
callq 0x6ad4
movq %rax, 0x5dbbe(%rip)     # 0x64858
jmp 0x6d17
movl $0xf, %edi
callq 0x6ad4
movq %r12, %rdi
movq %rax, %rsi
callq 0x3bf2
movq 0x5dd88(%rip), %rax     # 0x64a40
andl $0x7f, %eax
movq 0x5ddbe(%rip), %rcx     # 0x64a80
andq %r15, %rcx
jmp 0x6d6a
movl $0x17, %edi
callq 0x6ad4
movq %rax, 0x5dc05(%rip)     # 0x648e0
jmp 0x6d17
leaq 0x5dc9e(%rip), %rdi     # 0x64982
jmp 0x6d12
leaq 0x5dc9a(%rip), %rdi     # 0x64987
jmp 0x6d12
movl $0x3, %edi
callq 0x6ad4
movq %rax, 0xb6670(%rip)     # 0xbd370
jmp 0x6d17
leaq 0x5dc83(%rip), %rdi     # 0x6498c
jmp 0x6d12
leaq 0x5dc79(%rip), %rdi     # 0x6498b
callq 0x6b37
cmpb $0x1, (%rbx)
jne 0x6d26
movl $0x36, %edi
callq 0x589e
cmpb $0x2c, 0x5dbfc(%rip)    # 0x64929
je 0x6bb8
jmp 0x6dc3
sarq $0x17, %rax
leaq -0x4(%rax), %rcx
cmpq $0x5, %rcx
ja 0x6d83
movb $0x32, %cl
subb %al, %cl
movl $0x1, %eax
shlq %cl, %rax
movabsq $0xffff00000000, %rcx   # imm = 0xFFFF00000000
andq %rcx, %rax
movq 0x5dd1a(%rip), %rcx     # 0x64a80
andq (%rsp), %rcx
orq %rax, %rcx
movq %rcx, 0x5dd0c(%rip)     # 0x64a80
jmp 0x6d17
movq $0x78, 0x5daf7(%rip) # 0x64878
jmp 0x6d17
movq %rax, 0x5dd4e(%rip)     # 0x64ad8
jmp 0x6d17
cmpb $0x29, 0x5db96(%rip)    # 0x64929
jne 0x6dc3
jmp 0x6ddf
movb 0x5db8b(%rip), %al      # 0x64928
movb %al, 0x2(%rbx)
movb $0x2a, 0x5db81(%rip)    # 0x64928
cmpb $0x1, 0x5dbd3(%rip)     # 0x64981
jne 0x6db5
callq 0x64c3
callq 0x6a5c
movb 0x2(%rbx), %al
movb %al, 0x5db65(%rip)      # 0x64928
movzbl 0x5db5f(%rip), %ebp     # 0x64929
cmpl $0x2a, %ebp
je 0x6dd4
cmpl $0x7d, %ebp
jne 0x6d97
callq 0x6a5c
cmpb $0x7d, %bpl
jne 0x6d8c
addq $0x8, %rsp
cmpb $0x7d, %bpl
je 0x6df8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x6a5c
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq