!7 p-exp { PTElement tree1 = ai_parseBottomUpToTree("my mother"); PTElement tree2 = ai_parseBottomUpToTree("my brother"); 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) ret with print("Non-composites: " + a + " / " + b); print("Composites: " + a2 + " / " + b2); matchTrees(first(a2.children), first(b2.children)); matchTrees(second(a2.children), second(b2.children)); }