summaryrefslogtreecommitdiff
path: root/print.c
diff options
context:
space:
mode:
Diffstat (limited to 'print.c')
-rw-r--r--print.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/print.c b/print.c
index 3c119dd..45bca53 100644
--- a/print.c
+++ b/print.c
@@ -21,10 +21,10 @@ ppdatum(Datum d)
case HybridTag: result = runesmprint("%C", primhybridnames[d.func.code]); break;
case MonadicOpTag:
case DyadicOpTag: result = ppoperator(d.operator); break;
- case LParTag: result = runestrdup(L"("); break;
+ case LParTag: result = runesmprint("(%S", ppdatums(d.stmt.toks, d.stmt.ntoks)); break;
case RParTag: result = runestrdup(L")"); break;
case ArrowTag: result = runestrdup(L"←"); break;
- case AssignmentTag: result = runesmprint("%S←", d.name); break;
+ case AssignmentTag: result = runesmprint("(%S)←", ppdatums(d.stmt.toks, d.stmt.ntoks)); break;
case NameTag: result = runestrdup(d.name); break;
default: result = runesmprint("<not printable %d>", d.tag);
}
@@ -39,7 +39,7 @@ ppdatums(Datum *ds, int n)
Rune *tmp;
for(i = 0; i < n; i++){
tmp = res;
- res = runesmprint("%S %S", res, ppdatum(ds[i]));
+ res = runesmprint("%S%S%s", res, ppdatum(ds[i]), (i+1) < n ? " " : "");
free(tmp);
}
return res;