Example #1
0
def __get_operands(replaced_sentence, operator):
    text, replacements = replaced_sentence

    if operator is None:
        return False

    if operator == LogicOperator.Negation:
        sentence = Braces.restore(text, replacements)
        if sentence[0] == operator:
            return (sentence[1:], )
        return False

    if operator == LogicOperator.Every or operator == LogicOperator.Exists:
        op_index = text.index(operator)
        left_brace = text[op_index:].index(Braces.Left)
        variables = text[op_index + 1:left_brace].strip()
        expression = replacements[0][1:-1]
        return (variables, expression)

    lhs, rhs = text.split(" {0} ".format(operator), maxsplit=1)
    separator = "!SEPARATOR!"
    separated = "{0} {1} {2}".format(lhs, separator, rhs)
    lhs, rhs = Braces.restore(separated, replacements).split(separator)
    return (lhs.strip(), rhs.strip())
Example #2
0
def __get_operands(replaced_sentence, operator):
    text, replacements = replaced_sentence

    if operator is None:
        return False

    if operator == LogicOperator.Negation:
        sentence = Braces.restore(text, replacements)
        if sentence[0] == operator:
            return (sentence[1:], )
        return False

    if operator == LogicOperator.Every or operator == LogicOperator.Exists:
        op_index = text.index(operator)
        left_brace = text[op_index:].index(Braces.Left)
        variables = text[op_index + 1:left_brace].strip()
        expression = replacements[0][1:-1]
        return (variables, expression)

    lhs, rhs = text.split(" {0} ".format(operator), maxsplit=1)
    separator = "!SEPARATOR!"
    separated = "{0} {1} {2}".format(lhs, separator, rhs)
    lhs, rhs = Braces.restore(separated, replacements).split(separator)
    return (lhs.strip(), rhs.strip())