49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
# Kyler Olsen
|
|
# Feb 2024
|
|
|
|
from typing import Sequence
|
|
import argparse
|
|
|
|
from .emulator.main import parser as emulator_parser
|
|
from .compiler.main import parser as compiler_parser
|
|
from .assembler.main import parser as assembler_parser
|
|
|
|
def main(argv: Sequence[str] | None = None):
|
|
|
|
parser = argparse.ArgumentParser(
|
|
description='ytd 12-bit Development Kit',
|
|
epilog='https://github.com/KylerOlsen/ytd_12-bit_computer',
|
|
)
|
|
|
|
subparsers = parser.add_subparsers(required=True)
|
|
|
|
parser_emulator = subparsers.add_parser(
|
|
'em',
|
|
description='ytd 12-bit Computer Emulator',
|
|
help='Emulator help',
|
|
epilog='https://github.com/KylerOlsen/ytd_12-bit_computer',
|
|
)
|
|
emulator_parser(parser_emulator)
|
|
|
|
parser_compiler = subparsers.add_parser(
|
|
'cm',
|
|
description='ytd 12-bit Computer Compiler',
|
|
help='Compiler help',
|
|
epilog='https://github.com/KylerOlsen/ytd_12-bit_computer',
|
|
)
|
|
compiler_parser(parser_compiler)
|
|
|
|
parser_assembler = subparsers.add_parser(
|
|
'am',
|
|
description='ytd 12-bit Computer Linker and Assembler',
|
|
help='Assembler help',
|
|
epilog='https://github.com/KylerOlsen/ytd_12-bit_computer',
|
|
)
|
|
assembler_parser(parser_assembler)
|
|
|
|
args = parser.parse_args(argv)
|
|
args.func(args)
|
|
|
|
if __name__ == '__main__':
|
|
main()
|