Source code for arlib.automata.symautomata.alphabet

import os.path
from typing import List, Optional
"""This module configures that alphabet."""


def _load_alphabet(filename: str) -> List[str]:
    """
    Load a file containing the characters of the alphabet.
    Every unique character contained in this file will be used as a symbol
    in the alphabet.
    """
    with open(filename, 'r') as f:
        return list(set(f.read()))

[docs] def createalphabet(alphabetinput: Optional[str] = None) -> List[str]: """ Creates a sample alphabet containing printable ASCII characters """ if alphabetinput and os.path.isfile(alphabetinput): return _load_alphabet(alphabetinput) elif alphabetinput: alpha = [] setlist = alphabetinput.split(',') for alphaset in setlist: a = int(alphaset.split('-')[0]) b = int(alphaset.split('-')[1]) for i in range(a, b): alpha.append(str(unichr(i))) return alpha alpha: List[str] = [] for i in range(32, 127): alpha.append(str(unichr(i))) return alpha