"""
RiscEmu (c) 2021 Anton Lydike

SPDX-License-Identifier: MIT

This package aims at providing an all-round usable RISC-V emulator and debugger

It contains everything needed to run assembly files, so you don't need any custom compilers or toolchains
"""

from .types.exceptions import (
    RiscemuBaseException,
    LaunchDebuggerException,
    InvalidSyscallException,
    LinkerException,
    ParseException,
    NumberFormatException,
    InvalidRegisterException,
    MemoryAccessException,
    OutOfMemoryException,
)

from .instructions import *

from .MMU import MMU
from .registers import Registers
from .syscall import SyscallInterface, Syscall
from .CPU import CPU, UserModeCPU
from .debug import launch_debug_session

from .config import RunConfig

from .parser import tokenize, parse_tokens, AssemblyFileLoader

__author__ = "Anton Lydike <Anton@Lydike.com>"
__copyright__ = "Copyright 2023 Anton Lydike"
__version__ = "2.1.1"
