!7 p-exp { PTElement tree1 = ai_parseBottomUpToTree("I called my mother"); PTElement tree2 = ai_parseBottomUpToTree("I called my brother"); print(); matchTrees(tree1, tree2); } svoid matchTrees(PTElement a, PTElement b) { PTElement a2 = ai_parseTree_descendToComposite(a); PTElement b2 = ai_parseTree_descendToComposite(b); if (isNull(a2) != isNull(b2)) ret with print("Composite vs non-composite: " + or(a2, a) + " / " + or(b2, b)); if (a2 == null) { print("Non-composites: " + a); print(" " + b); ret; } print("Composites: " + a2); print(" " + b2); temp tempIndent(); print(); matchTrees(first(a2.children), first(b2.children)); print(); matchTrees(second(a2.children), second(b2.children)); }