atm = str2double(token);
elseif strcmp(token(1), '"')
atm = token(2:length(token)-1);
+ atm = strrep(atm, '\\', char(255));
atm = strrep(atm, '\"', '"');
atm = strrep(atm, '\n', char(10));
- atm = strrep(atm, '\\', '\');
+ atm = strrep(atm, char(255), '\');
elseif strcmp(token(1), ':')
s = token(2:end);
atm = type_utils.keyword(s);
["parseInt", "token", 10],
["if", ["=", ["`", "\""], ["get", "token", 0]],
[".",
- [".",
- [".",
- ["slice", "token", 1, ["-", ["count", "token"], 1]],
- ["`", "replace"], ["RegExp", ["`", "\\\\\""], ["`", "g"]], ["`", "\""]],
- ["`", "replace"], ["RegExp", ["`", "\\\\n"], ["`", "g"]], ["`", "\n"]],
- ["`", "replace"], ["RegExp", ["`", "\\\\\\\\"], ["`", "g"]], ["`", "\\"]],
+ ["slice", "token", 1, ["-", ["count", "token"], 1]],
+ ["`", "replace"], ["RegExp", ["`", "\\\\(.)"], ["`", "g"]],
+ ["fn", ["_", "c"],
+ ["if", ["=", "c", ["`", "n"]],
+ ["`", "\n"],
+ "c"]]],
["if", ["=", ["`", ":"], ["get", "token", 0]],
["keyword", ["slice", "token", 1]],
["if", ["=", ["`", "nil"], "token"],
return MalStr(u"")
else:
s = unicode(token[1:end])
+ s = types._replace(u'\\\\', u"\u029e", s)
s = types._replace(u'\\"', u'"', s)
s = types._replace(u'\\n', u"\n", s)
- s = types._replace(u'\\\\', u"\\", s)
+ s = types._replace(u"\u029e", u"\\", s)
return MalStr(s)
elif token[0] == ':': return _keywordu(unicode(token[1:]))
elif token == "nil": return types.nil