From 9352af91542609d95285ee89b30aa4f9249b2b24 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Thu, 25 Jul 2013 10:54:48 -0400 Subject: [PATCH] nitc: handle triple-quoted strings Signed-off-by: Jean Privat --- src/syntax/icode_generation.nit | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/syntax/icode_generation.nit b/src/syntax/icode_generation.nit index 54874d1..a4e0c42 100644 --- a/src/syntax/icode_generation.nit +++ b/src/syntax/icode_generation.nit @@ -937,9 +937,14 @@ redef class AStringFormExpr # Compute _cstring and _cstring_length using string_text protected fun compute_string_infos do - var len = 0 - var str = string_text + var str = n_string.text + if str.length >= 6 and str[0] == str[1] then + str = str.substring(3, str.length - 6) + else + str = str.substring(1, str.length - 2) + end var res = new Buffer + var len = 0 var i = 0 while i < str.length do var c = str[i] @@ -950,6 +955,11 @@ redef class AStringFormExpr res.add(c) end c = c2 + else if c == '"' then + res.add('\\') + else if c == '\n' then + res.add('\\') + c = 'n' end len = len + 1 res.add(c) -- 1.7.9.5