vim-jp/cpp-vim — pull request #14 by oblitum (2013-10-01 05:50:22+00:00)
Title: Fix support of raw string literals

This fix tries to better follow 2.14.5 and 2.14.5.2 of the standard.

```text
2.14.5 String literals -- [lex.string]

string-literal:
encoding-prefix(optional) " s-char-sequence(optional) "
encoding-prefix(optional) R raw-string
encoding-prefix:
u8
u
U
L
s-char-sequence:
s-char
s-char-sequence s-char
s-char:
any member of the source character set except
the double-quote ", backslash \, or new-line character
escape-sequence
universal-character-name
raw-string:
" d-char-sequence(optional) ( r-char-sequence(optional) ) d-char-sequence(optional) "
r-char-sequence:
r-char
r-char-sequence r-char
r-char:
any member of the source character set, except
a right parenthesis ) followed by the initial d-char-sequence
(which may be empty) followed by a double quote ".
d-char-sequence:
d-char
d-char-sequence d-char
d-char:
any member of the basic source character set except:
space, the left parenthesis (, the right parenthesis ), the backslash \,
and the control characters representing horizontal tab,
vertical tab, form feed, and newline.

2.14.5.2
A string literal that has an R in the prefix is a raw string literal. The
d-char-sequence serves as a delimiter. The terminating d-char-sequence
of a raw-string is the same sequence of characters as the initial
d-char-sequence. A d-char-sequence shall consist of at most 16
characters.
```

It adds support for unicode raw string literals.