aboutsummaryrefslogtreecommitdiff
path: root/parser.moon
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2018-07-20 20:13:01 -0700
committerBruce Hill <bitbucket@bruce-hill.com>2018-07-20 20:13:08 -0700
commit2577c4511e4bdf88fab3bc534dc90ef5cee5227c (patch)
treec40826eeac1272dc304124e57c54cb3a8a6e8684 /parser.moon
parent385beb4998615d03568f64040bef9761f5cdcbf2 (diff)
Improving nomsu codegen.
Diffstat (limited to 'parser.moon')
-rw-r--r--parser.moon2
1 files changed, 1 insertions, 1 deletions
diff --git a/parser.moon b/parser.moon
index 1998ae2..749c09a 100644
--- a/parser.moon
+++ b/parser.moon
@@ -144,7 +144,7 @@ Parser.is_operator = (s)->
Parser.is_identifier = (s)->
return not not (NOMSU_DEFS.ident_char^1 * -1)\match(s)
-inline_escaper = re.compile "{~ (%utf8_char / ('\\' -> '\\\\') / [ -~] / ('\n' -> '\\n') / ('\t' -> '\\t') / ('\b' -> '\\b') / ('\a' -> '\\a') / ('\v' -> '\\v') / ('\f' -> '\\f') / ('\r' -> '\\r') / ('\"' -> '\\\"') / (. -> escape))* ~}", {utf8_char: NOMSU_DEFS.utf8_char, escape:(=> ("\\%03d")\format(@byte!))}
+inline_escaper = re.compile "{~ (%utf8_char / ('\"' -> '\\\"') / ('\n' -> '\\n') / ('\t' -> '\\t') / ('\b' -> '\\b') / ('\a' -> '\\a') / ('\v' -> '\\v') / ('\f' -> '\\f') / ('\r' -> '\\r') / ('\\' -> '\\\\') / ([^ -~] -> escape) / .)* ~}", {utf8_char: NOMSU_DEFS.utf8_char, escape:(=> ("\\%03d")\format(@byte!))}
Parser.inline_escape = (s)->
return inline_escaper\match(s)
escaper = re.compile "{~ (%utf8_char / ('\\' -> '\\\\') / [\n\r\t -~] / (. -> escape))* ~}", {utf8_char: NOMSU_DEFS.utf8_char, escape:(=> ("\\%03d")\format(@byte!))}