From 0e4f2ec17c2db3cea852b67bb53a3d0f6001b936 Mon Sep 17 00:00:00 2001 From: Mark Stemm Date: Thu, 27 Jun 2019 16:59:16 -0700 Subject: [PATCH] Skip unnecessary string cleanups We shouldn't need to clean up strings via a cleanup function and don't need to do it via a bunch of string.gsub() functions. Signed-off-by: Mark Stemm --- userspace/engine/lua/parser.lua | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/userspace/engine/lua/parser.lua b/userspace/engine/lua/parser.lua index 5cd951c5..bd96b4d4 100644 --- a/userspace/engine/lua/parser.lua +++ b/userspace/engine/lua/parser.lua @@ -152,22 +152,6 @@ local function rel (left, sep, right) return left * sep * right / function(e1, op, e2) return { type = "BinaryRelOp", operator = op, left = e1, right = e2 } end end -local function fix_str (str) - str = string.gsub(str, "\\a", "\a") - str = string.gsub(str, "\\b", "\b") - str = string.gsub(str, "\\f", "\f") - str = string.gsub(str, "\\n", "\n") - str = string.gsub(str, "\\r", "\r") - str = string.gsub(str, "\\t", "\t") - str = string.gsub(str, "\\v", "\v") - str = string.gsub(str, "\\\n", "\n") - str = string.gsub(str, "\\\r", "\n") - str = string.gsub(str, "\\'", "'") - str = string.gsub(str, '\\"', '"') - str = string.gsub(str, '\\\\', '\\') - return str -end - -- grammar @@ -243,7 +227,7 @@ local G = { (digit^1 * V"Expo"); Number = C(V"Hex" + V"Float" + V"Int") / function (n) return tonumber(n) end; - String = (P'"' * C(((P'\\' * P(1)) + (P(1) - P'"'))^0) * P'"' + P"'" * C(((P"\\" * P(1)) + (P(1) - P"'"))^0) * P"'") / function (s) return fix_str(s) end; + String = (P'"' * C(((P'\\' * P(1)) + (P(1) - P'"'))^0) * P'"' + P"'" * C(((P"\\" * P(1)) + (P(1) - P"'"))^0) * P"'"); BareString = C(((P(1) - S' (),='))^1); OrOp = kw("or") / "or";