def _split_into_symbol_words(sym):
    """Split a technical looking word into a set of symbols.

    This handles cases where technical words are separated by dots or
    arrows, as is the convention in many programming languages.
    """
    punc = r"[\s\-\*/\+\.,:\;=\)\(\[\]\{\}<>\|\?&\^\$@]"
    words = [w.strip() for w in re.split(punc, sym)]
    return words
Split a technical looking word into a set of symbols.

    This handles cases where technical words are separated by dots or
    arrows, as is the convention in many programming languages.