From 58bee3cfc1843a37a5fd79c4bf0e85c2038e595b Mon Sep 17 00:00:00 2001 From: Lingdong Huang Date: Thu, 19 Dec 2019 18:59:13 -0500 Subject: [PATCH] fix obj literal bug --- examples/obj.wy | 12 ++++++------ src/parser.js | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/obj.wy b/examples/obj.wy index 9bb9fa7d..03306b35 100644 --- a/examples/obj.wy +++ b/examples/obj.wy @@ -1,18 +1,18 @@ 吾有一物。名之曰「精衛」。其物如是。 - 物之「名」者。言曰「「女娃」」。 - 物之「足數」者。數曰二。 - 物之「喙數」者。數曰一。 + 物之「「名」」者。言曰「「女娃」」。 + 物之「「足數」」者。數曰二。 + 物之「「喙數」」者。數曰一。 是謂「精衛」之物也。 吾有一術。名之曰「造物之術」。欲行是術。必先得一言。曰「甲」。乃行是術曰。 吾有一物。名之曰「乙」。其物如是。 - 物之「丙」者。言曰「甲」。 - 物之「丁」者。數曰四。 + 物之「「丙」」者。言曰「甲」。 + 物之「「丁」」者。數曰四。 是謂「乙」之物也。 乃得「乙」。 是謂「造物之術」之物也。 -施「造物之術」。名之曰「戊」。 +施「造物之術」於「「某甲」」。名之曰「戊」。 昔之「戊」之「「丁」」者。今五是矣。 施「JSON.stringify」於「戊」。書之。 昔之「戊」之「「丁」」者。今不復存矣。 diff --git a/src/parser.js b/src/parser.js index e77cbfce..d919cea1 100644 --- a/src/parser.js +++ b/src/parser.js @@ -355,7 +355,7 @@ function tokens2asc( } asc.push(x); } else if (gettok(i, 0) == "decl" && gettok(i, 1) == "prop") { - typeassert(i + 1, ["iden"], "identifier"); + typeassert(i + 1, ["lit"], "property key"); typeassert(i + 3, ["type"], "property type"); typeassert(i + 4, ["assgn"], "property value"); var x = { @@ -672,7 +672,7 @@ function asc2js(asc) { } else if (a.op == "objbody") { js += `${prevobj}={`; } else if (a.op == "prop") { - js += `"${a.name}":${a.value[1]},`; + js += `${a.name}:${a.value[1]},`; } else if (a.op == "end") { js += "}"; curlvl--;