// File: cla7aye15I4nd[P]basic_interpreter/./lib/terminal.hpp
// Function: basic::terminal::run()
bool run() {
            string command;
            while (true) {
                //std::cerr << "(basic):";
                std::getline(std::cin, command);

                if (command == "QUIT") {
                    //std::cerr << "exit" << std::endl;
                    return 0;
                }

                if (command == "HELP") {
                    std::cout << "Minimal BASIC Interpreter";
                } else if (command == "CLEAR") {
                    code.clear();
                } else if (command == "RUN") {
                    code.run();
                } else if (command == "LIST") {
                    code.show();
                } else{
                    expression expr = format(command);
                    if (is_digit(expr[0])) {
                        if (!code.insert(expr))
                            std::cout << "SYNTAX ERROR" << std::endl;
                    } else {
                        if (!code.feedback(expr))
                            std::cout << "SYNTAX ERROR" << std::endl;
                    }
                }
            }
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x3340
jmp 0x46a2
movq 0x15937(%rip), %rdi     # 0x19fe0
leaq -0x28(%rbp), %rsi
callq 0x3080
jmp 0x46b4
leaq 0xc9a5(%rip), %rsi      # 0x11060
leaq -0x28(%rbp), %rdi
callq 0x4080
movb %al, -0x59(%rbp)
jmp 0x46c9
movb -0x59(%rbp), %al
testb $0x1, %al
jne 0x46d2
jmp 0x46f9
leaq -0x28(%rbp), %rdi
callq 0x3160
xorl %eax, %eax
andb $0x1, %al
addq $0x80, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x48ac
leaq 0xc965(%rip), %rsi      # 0x11065
leaq -0x28(%rbp), %rdi
callq 0x4080
movb %al, -0x5a(%rbp)
jmp 0x470e
movb -0x5a(%rbp), %al
testb $0x1, %al
jne 0x4717
jmp 0x4731
movq 0x158b2(%rip), %rdi     # 0x19fd0
leaq 0xc945(%rip), %rsi      # 0x1106a
callq 0x3230
jmp 0x472c
jmp 0x48a7
leaq 0xc94c(%rip), %rsi      # 0x11084
leaq -0x28(%rbp), %rdi
callq 0x4080
movb %al, -0x5b(%rbp)
jmp 0x4746
movb -0x5b(%rbp), %al
testb $0x1, %al
jne 0x474f
jmp 0x475f
movq -0x58(%rbp), %rdi
callq 0x5960
jmp 0x475a
jmp 0x48a5
leaq 0xc924(%rip), %rsi      # 0x1108a
leaq -0x28(%rbp), %rdi
callq 0x4080
movb %al, -0x5c(%rbp)
jmp 0x4774
movb -0x5c(%rbp), %al
testb $0x1, %al
jne 0x477d
jmp 0x478d
movq -0x58(%rbp), %rdi
callq 0x5990
jmp 0x4788
jmp 0x48a3
leaq 0xc8fa(%rip), %rsi      # 0x1108e
leaq -0x28(%rbp), %rdi
callq 0x4080
movb %al, -0x5d(%rbp)
jmp 0x47a2
movb -0x5d(%rbp), %al
testb $0x1, %al
jne 0x47ab
jmp 0x47bb
movq -0x58(%rbp), %rdi
callq 0x5c60
jmp 0x47b6
jmp 0x48a1
leaq -0x50(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3e60
jmp 0x47ca
xorl %eax, %eax
movl %eax, %esi
leaq -0x50(%rbp), %rdi
callq 0x5d00
movq %rax, %rdi
callq 0x3c90
movb %al, -0x5e(%rbp)
jmp 0x47e4
movb -0x5e(%rbp), %al
testb $0x1, %al
jne 0x47ed
jmp 0x484e
movq -0x58(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x5d20
movb %al, -0x5f(%rbp)
jmp 0x47ff
movb -0x5f(%rbp), %al
testb $0x1, %al
jne 0x484c
jmp 0x4808
movq 0x157c1(%rip), %rdi     # 0x19fd0
leaq 0xc87d(%rip), %rsi      # 0x11093
callq 0x3230
movq %rax, -0x68(%rbp)
jmp 0x4821
movq -0x68(%rbp), %rdi
movq 0x15794(%rip), %rsi     # 0x19fc0
callq 0x3270
jmp 0x4833
jmp 0x484c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x41e0
jmp 0x48ac
jmp 0x4898
movq -0x58(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x5fc0
movb %al, -0x69(%rbp)
jmp 0x4860
movb -0x69(%rbp), %al
testb $0x1, %al
jne 0x4896
jmp 0x4869
movq 0x15760(%rip), %rdi     # 0x19fd0
leaq 0xc81c(%rip), %rsi      # 0x11093
callq 0x3230
movq %rax, -0x78(%rbp)
jmp 0x4882
movq -0x78(%rbp), %rdi
movq 0x15733(%rip), %rsi     # 0x19fc0
callq 0x3270
jmp 0x4894
jmp 0x4896
jmp 0x4898
leaq -0x50(%rbp), %rdi
callq 0x41e0
jmp 0x48a3
jmp 0x48a5
jmp 0x48a7
jmp 0x46a0
leaq -0x28(%rbp), %rdi
callq 0x3160
movq -0x30(%rbp), %rdi
callq 0x33e0
nop