var value: nullable String
redef fun accept_literal(v)
do
- var txt
- if self isa AStringExpr then
- txt = self.n_string.text
- else if self isa AStartStringExpr then
- txt = self.n_string.text
- else if self isa AMidStringExpr then
- txt = self.n_string.text
- else if self isa AEndStringExpr then
- txt = self.n_string.text
- else abort
- self.value = txt.substring(1, txt.length-2).unescape_nit
+ var txt = self.n_string.text
+ var skip = 1
+ if txt[0] == txt[1] and txt.length >= 6 then skip = 3
+ self.value = txt.substring(skip, txt.length-(2*skip)).unescape_nit
end
end