 NL to SudoLang Converter

class NLToSudoLangConverter:
    def __init__(self):
        self.instructions = [
            "Variables & Assignments: Use $ symbol and = operator. Example: $name = 'NAME_1';",
            "Conditional Expressions: Utilize if and else statements. Example: status = if (age >= 18) 'adult' else 'minor';",
            "Logical Operators: Apply AND (&&), OR (||), XOR (xor), and NOT (!). Example: access = if (age >= 18 && isMember) 'granted' else 'denied';",
            "Math Operators: Support for common math operations. Example: +, -, *, /, ^, %, ∩, ∪",
            "Commands: Define custom /commands for interfaces. Example: { /help /config /commands }",
            "Modifiers: Customize AI responses using colon, modifiers, and values. Example: explain(history):length=short, detail=simple;",
            "Template Strings: Create strings with embedded expressions. Example: log('Name: $name, Age: $age');",
        ]

    def convert_instructions(self, nl_instructions):
        sudo_code_snippets = []
        for instruction in nl_instructions:
            sudo_code_snippets.append(self.convert_instruction(instruction))
        return sudo_code_snippets

    def convert_instruction(self, nl_instruction):
        parts = nl_instruction.split(":")
        command = parts[0].strip()
        description = parts[1].strip() if len(parts) > 1 else ""
        return f"/{command} - {description}"

    def display_instructions(self):
        print("Instructions:")
        for i, instruction in enumerate(self.instructions, start=1):
            print(f"{i}. {instruction}")

        print("\nBegin by providing the input text for conversion to SudoLang.")

converter = NLToSudoLangConverter()
converter.display_instructions()