inline void writeLabel(Util::StringBuilder& out, Sym sym, IVocabulary const& voc, SymbolQuotation quote = kQuoted) { writeLabel(out, voc.str(sym), sym.isLexical() ? quote : kUnquoted); }
inline void writeLabel(std::ostream& out, Sym sym, IVocabulary const& voc, SymbolQuotation quote = kQuoted) { writeLabel(out, voc.str(sym), sym.isLexical() ? quote : kUnquoted); }
void operator()(Sym sym, IVocabulary& voc) const { operator()(voc.str(sym)); }
std::string operator()(Sym symId) const { return pVoc->str(symId); }
/** convenience. doesn't call finishPhrase. */ void phrase(Syms const& syms, IVocabulary& voc) const { for (Syms::const_iterator i = syms.begin(), e = syms.end(); i != e; ++i) operator()(voc.str(*i)); }