Exemplo n.º 1
0
ExpPtr parseCall (Lexer& lex, ExpPtr in)
{
	auto args = parseTuple(lex);
	ExpList exps;

	exps.reserve(args->subexps.size() + 1);
	exps.push_back(in);
	exps.insert(exps.end(), args->subexps.begin(), args->subexps.end());

	return Exp::make(eCall, exps, in->span + args->span);
}
Exemplo n.º 2
0
void
TreePrinter::printExpList(const ExpList &elist)
{
	ExpList::const_iterator it = elist.begin();
	while (it != elist.end()) {
		TreePrinter treePrinter;
		(*it)->accept(&treePrinter);
		DBG("-----\n");
		DBG("%s\n", treePrinter.result.c_str());
		++it;
	}
}