assert parameter == "Parameter" and colon == ":"
// This list contains something like ["Entity", "->", "Prop", "->", "Prop"...]
type_sig = coq_type_list[3:]
type_ids = []
for i, type_item in enumerate(type_sig):
assert (i % 2 == 1) == (type_item == "->")
if type_item.startswith("Entity"):
type_ids.append("e")
elif type_item.startswith("Prop"):
type_ids.append("t")
elif type_item.startswith("Event"):
type_ids.append("v")
elif type_item != "->":
raise(ValueError("Invalid type name: %s in %s" % (type_item, coq_type)))
assert len(type_ids) > 0
if len(type_ids) == 1:
After Change
if not nltk_type_str.startswith("(") or not nltk_type_str.endswith("("):
nltk_type_str = "(" + nltk_type_str + ")"
// Add pre-terminals (necessary for NLTK, if we convert to CNF).
nltk_type_str = re.sub(r"([evt])", r"(N \1)", nltk_type_str)
nltk_type_tree = tree_or_string(nltk_type_str)
nltk_type_tree.chomsky_normal_form(factor="right")
nltk_type_str = remove_labels_and_unaries(nltk_type_tree).replace(
"( ", "(").replace(