// File: /workspace/github_cpp_makefile_star2_O2/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, 0xb6343(%rip)     # 0xbc398
callq 0x5f40
movb 0x5d8b9(%rip), %al      # 0x63919
cmpb $0x3d, %al
jne 0x62b4
leaq 0x1(%rbx), %r14
pushq $0x36
popq %r15
leaq 0x1321d(%rip), %r12     # 0x19294
leaq 0x5d9b2(%rip), %r13     # 0x63a30
callq 0x5f40
movb $0x1, (%rbx)
movzbl 0x5d88c(%rip), %eax     # 0x63919
addl $-0x41, %eax
cmpl $0x39, %eax
ja 0x620d
movslq (%r12,%rax,4), %rax
addq %r12, %rax
jmpq *%rax
pushq $0x2
popq %rdi
callq 0x5fbd
movq %rax, 0x5d8af(%rip)     # 0x63960
jmp 0x620d
leaq 0x5d8bd(%rip), %rdi     # 0x6397a
jmp 0x6208
pushq $0x9
popq %rdi
callq 0x5fbd
movq %r13, %rdi
movq %rax, %rsi
callq 0x381c
movq 0x5d954(%rip), %rax     # 0x63a30
shlq $0x17, %rax
cmpq $0x1800000, %rax        # imm = 0x1800000
jne 0x622d
movq $0x1, 0x5d7b9(%rip) # 0x638b0
jmp 0x620d
leaq 0x5d87b(%rip), %rdi     # 0x6397e
jmp 0x6208
leaq 0x5d870(%rip), %rdi     # 0x6397f
jmp 0x6208
leaq 0x5d865(%rip), %rdi     # 0x63980
jmp 0x6208
movq %r14, %rdi
callq 0x6011
cmpb $0x1, (%r14)
jne 0x6260
movq $0x48, 0x5d72b(%rip) # 0x63868
jmp 0x620d
leaq 0x5d830(%rip), %rdi     # 0x63979
jmp 0x6208
pushq $0x4
popq %rdi
callq 0x5fbd
movq %rax, 0x5d6eb(%rip)     # 0x63848
jmp 0x620d
pushq $0xf
popq %rdi
callq 0x5fbd
movq %r13, %rdi
movq %rax, %rsi
callq 0x381c
xorl %edi, %edi
pushq $0x28
popq %rsi
callq 0x37ec
movq %rax, %rbp
movabsq $0xffffffffffff, %rax   # imm = 0xFFFFFFFFFFFF
andq %rax, %rbp
andq 0x5d8da(%rip), %rbp     # 0x63a70
pushq $0x29
popq %rdi
pushq $0x2f
popq %rsi
callq 0x37ec
movq 0x5d888(%rip), %rcx     # 0x63a30
movabsq $-0x1000000000000, %rdx # imm = 0xFFFF000000000000
orq %rdx, %rcx
andq %rax, %rcx
orq %rbp, %rcx
movq %rcx, 0x5d8ae(%rip)     # 0x63a70
jmp 0x620d
pushq $0x17
popq %rdi
callq 0x5fbd
movq %rax, 0x5d6fd(%rip)     # 0x638d0
jmp 0x620d
leaq 0x5d796(%rip), %rdi     # 0x63972
jmp 0x6208
leaq 0x5d792(%rip), %rdi     # 0x63977
jmp 0x6208
pushq $0x3
popq %rdi
callq 0x5fbd
movq %rax, 0xb616a(%rip)     # 0xbc360
jmp 0x620d
leaq 0x5d77d(%rip), %rdi     # 0x6397c
jmp 0x6208
leaq 0x5d773(%rip), %rdi     # 0x6397b
callq 0x6011
cmpb $0x1, (%rbx)
jne 0x621a
movq %r15, %rdi
callq 0x4f2c
movb 0x5d6f9(%rip), %al      # 0x63919
cmpb $0x2c, %al
je 0x607e
jmp 0x62b4
sarq $0x17, %rax
leaq -0x4(%rax), %rcx
cmpq $0x5, %rcx
ja 0x626d
movb $0x32, %cl
subb %al, %cl
movq 0x5d82a(%rip), %rax     # 0x63a70
movabsq $0xffffffffffff, %rdx   # imm = 0xFFFFFFFFFFFF
andq %rdx, %rax
btsq %rcx, %rax
movq %rax, 0x5d812(%rip)     # 0x63a70
jmp 0x620d
movq $0x78, 0x5d5fd(%rip) # 0x63868
jmp 0x620d
movq %rax, 0x5d854(%rip)     # 0x63ac8
jmp 0x620d
movb 0x5d69d(%rip), %al      # 0x63919
cmpb $0x29, %al
jne 0x62b4
jmp 0x62ce
movb 0x5d690(%rip), %al      # 0x63918
movb %al, 0x2(%rbx)
movb $0x2a, 0x5d686(%rip)    # 0x63918
cmpb $0x1, 0x5d6d8(%rip)     # 0x63971
jne 0x62a0
callq 0x59c4
callq 0x5f40
movb 0x2(%rbx), %al
movb %al, 0x5d66a(%rip)      # 0x63918
movb 0x5d665(%rip), %al      # 0x63919
movl %eax, %ebp
cmpb $0x2a, %al
je 0x62c3
movzbl %bpl, %eax
cmpl $0x7d, %eax
jne 0x6282
callq 0x5f40
cmpb $0x7d, %bpl
jne 0x6276
addq $0x8, %rsp
cmpb $0x7d, %bpl
je 0x62e7
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x5f40
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq