ytd_12-bit_computer/pytd12dk/main.py

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()