[pure-lang-svn] SF.net SVN: pure-lang:[696] pure/trunk/printer.cc
Status: Beta
Brought to you by:
agraef
From: <ag...@us...> - 2008-09-04 01:25:53
|
Revision: 696 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=696&view=rev Author: agraef Date: 2008-09-04 01:26:04 +0000 (Thu, 04 Sep 2008) Log Message: ----------- Change printing of external objects, so that it can't be misparsed as an ordinary expression. Modified Paths: -------------- pure/trunk/printer.cc Modified: pure/trunk/printer.cc =================================================================== --- pure/trunk/printer.cc 2008-09-04 01:18:14 UTC (rev 695) +++ pure/trunk/printer.cc 2008-09-04 01:26:04 UTC (rev 696) @@ -166,7 +166,7 @@ static ostream& printx(ostream& os, const expr& x, bool pat, bool aspat) { char buf[64]; - if (x.is_null()) return os << "<<NULL>>"; + if (x.is_null()) return os << "{{NULL}}"; //os << "{" << x.refc() << "}"; // handle "as" patterns if (aspat && x.astag()>0) { @@ -243,7 +243,7 @@ return os; } case EXPR::PTR: - return os << "<<pointer " << x.pval() << ">>"; + return os << "{{pointer " << x.pval() << "}}"; case EXPR::APP: { expr u, v, w, y; exprl xs; @@ -665,7 +665,7 @@ return os; } case EXPR::PTR: - return os << "<<pointer " << x->data.p << ">>"; + return os << "{{pointer " << x->data.p << "}}"; case EXPR::APP: { list<const pure_expr*> xs; prec_t p; @@ -760,11 +760,11 @@ default: { if (x->tag == 0) { const char *s = (x->data.clos && x->data.clos->n==0)?"thunk":"closure"; - return os << "<<" << s << " " << (void*)x << ">>"; + return os << "{{" << s << " " << (void*)x << "}}"; } const symbol& sym = interpreter::g_interp->symtab.sym(x->tag); if (x->data.clos && x->data.clos->local) - return os << "<<closure " << sym.s << ">>"; + return os << "{{closure " << sym.s << "}}"; if (sym.prec < 10) return os << '(' << sym.s << ')'; else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |