Esempio n. 1
0
node_p tree_copy(const node_cp& source, CallFactory factory)
{
    // Simply parse the sexpr.  This isn't the most efficient but is
    // extremely simple.
    size_t i = 0;
    string sexpr = source->to_s();
    if (sexpr.empty()) {
        return node_p();
    }
    if (sexpr[0] == '(') {
        return parse_call(sexpr, i, factory);
    }
    return parse_literal(sexpr, i);
}
Esempio n. 2
0
 //! See less_sexpr::operator()().
 bool operator()(const node_cp& a, const node_cp& b) const
 {
     return less_sexpr()(a->to_s(), b->to_s());
 }
Esempio n. 3
0
 //! True iff @a node is has no parents.
 bool operator()(const node_cp& node) const
 {
     return node->children().empty();
 }