def replaceFunctionValuedVariables(cls, description): """ generated source for method replaceFunctionValuedVariables """ description = GdlCleaner.run(description) description = DeORer.run(description) model = SentenceFormModelFactory.create(description) # Find "ambiguities" between sentence rules: "If we have sentence form X # with variables in slots [...], it could be aliased to sentence form Y instead" ambiguitiesByOriginalForm = getAmbiguitiesByOriginalForm(model) if ambiguitiesByOriginalForm.isEmpty(): return description expandedRules = applyAmbiguitiesToRules(description, ambiguitiesByOriginalForm, model) return cleanUpIrrelevantRules(expandedRules)
def cleanUpIrrelevantRules(cls, expandedRules): """ generated source for method cleanUpIrrelevantRules """ model = SentenceFormModelFactory.create(expandedRules) return ImmutableList.copyOf(Collections2.filter(expandedRules, Predicate()))