LookAtMySuitBot/js/node_modules/nearley/builtin/string.ne

27 lines
751 B
Plaintext

# Matches various kinds of string literals
# Double-quoted string
dqstring -> "\"" dstrchar:* "\"" {% function(d) {return d[1].join(""); } %}
sqstring -> "'" sstrchar:* "'" {% function(d) {return d[1].join(""); } %}
btstring -> "`" [^`]:* "`" {% function(d) {return d[1].join(""); } %}
dstrchar -> [^\\"\n] {% id %}
| "\\" strescape {%
function(d) {
return JSON.parse("\""+d.join("")+"\"");
}
%}
sstrchar -> [^\\'\n] {% id %}
| "\\" strescape
{% function(d) { return JSON.parse("\""+d.join("")+"\""); } %}
| "\\'"
{% function(d) {return "'"; } %}
strescape -> ["\\/bfnrt] {% id %}
| "u" [a-fA-F0-9] [a-fA-F0-9] [a-fA-F0-9] [a-fA-F0-9] {%
function(d) {
return d.join("");
}
%}