@ -155,6 +155,9 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
* <xus> quoted string with Unicode escapes
* <xusend> end of a quoted string with Unicode escapes, UESCAPE can follow
* <xeu> Unicode surrogate pair in extended quoted string
*
* Remember to add an <<EOF>> case whenever you add a new exclusive state!
* The default one is probably not the right thing.
*/
%x xb
@ -545,12 +548,13 @@ other .
<xus>{quotefail} {
/* throw back all but the quote */
yyless(1);
/* handle possible UESCAPE in xusend mode */
/* xusend state looks for possible UESCAPE */
BEGIN(xusend);
}
<xusend>{whitespace}
<xusend>{whitespace} { /* stay in xusend state over whitespace */ }
<xusend>{other} |
<xusend>{xustop1} {
<xusend>{xustop1} |
<xusend><<EOF>> {
/* no UESCAPE after the quote, throw back everything */
yyless(0);
BEGIN(INITIAL);
@ -725,12 +729,13 @@ other .
}
<xui>{dquote} {
yyless(1);
/* handle possible UESCAPE in xuiend mode */
/* xuiend state looks for possible UESCAPE */
BEGIN(xuiend);
}
<xuiend>{whitespace} { }
<xuiend>{whitespace} { /* stay in xuiend state over whitespace */ }
<xuiend>{other} |
<xuiend>{xustop1} {
<xuiend>{xustop1} |
<xuiend><<EOF>> {
/* no UESCAPE after the quote, throw back everything */
char *ident;