[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.
|