Пример #1
0
    def parse(cls, string):
        """Returns a Semantic object"""
        string = string.replace(" ", "")
        if "|" in string:
            quant_str, string = string.split("|")
        else:
            quant_str, string = "", string

        # Parse conjuncted relations
        relations = []
        while len(string) > 0:
            relation, string = RelationParser.parse(string)
            relations.append(relation)
        sem = Semantics(relations)

        # Parse any quantifiers
        quantification_dict = QuantificationParser.parse(quant_str)
        sem.quantification_dict = quantification_dict

        return sem