private Pile <Reach> splitBraces(Reach formula) { while (formula.at(1, utl.dmyBool("al(occur, token) is planned"), "(").len > 0) { Reach part = braces.upon(formula); Reach lastPart = formula; while (part.startsWith("(")) { lastPart = part; part = braces.upon(part.from(2)); } if (lastPart.startsWith("(")) { terms.Add(braces.on(lastPart).Trim()); } else { terms.Add(lastPart.Trim()); } formula = formula.RPW("«" + terms.Len + "»").at(lastPart); } if (formula.startsWith("(")) { terms.Add(braces.on(formula).Trim()); } else { terms.Add(formula.Trim()); } return(terms); }