From c5d302358e0b519f9de6d570158d07d60fda6d97 Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Sun, 15 Feb 2015 16:34:55 -0600 Subject: miniMAL: step4. --- miniMAL/printer.json | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'miniMAL/printer.json') diff --git a/miniMAL/printer.json b/miniMAL/printer.json index 99f4198..8029413 100644 --- a/miniMAL/printer.json +++ b/miniMAL/printer.json @@ -8,9 +8,18 @@ ["`", "join"], ["`", " "]], ["`", ")"]], ["if", ["=", ["`", "string"], ["type", "exp"]], - ["str", ["`", "\""], "exp", ["`", "\""]], + ["if", "print_readably", + ["str", ["`", "\""], + [".", + [".", + [".", "exp", + ["`", "replace"], ["RegExp", ["`", "\\\\"], ["`", "g"]], ["`", "\\\\"]], + ["`", "replace"], ["RegExp", ["`", "\""], ["`", "g"]], ["`", "\\\""]], + ["`", "replace"], ["RegExp", ["`", "\n"], ["`", "g"]], ["`", "\\n"]], + ["`", "\""]], + "exp"], ["if", ["=", ["`", "number"], ["type", "exp"]], - "exp", + "exp", ["if", ["=", null, "exp"], ["`", "nil"], ["if", ["=", true, "exp"], @@ -21,5 +30,9 @@ ["get", "exp", ["`", "val"]], ["str", ["`", "#"]]]]]]]]]]], +["def", "pr-list", ["fn", ["lst", "print_readably", "sep"], + [".", ["map", ["fn", ["s"], ["pr-str", "s", "print_readably"]], "lst"], + ["`", "join"], "sep"]]], + null ] -- cgit v1.2.3