DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(flex.info.gz) How do I expand backslash-escape sequences in C-style quoted strings?

Info Catalog (flex.info.gz) When was flex born? (flex.info.gz) FAQ (flex.info.gz) Why do flex scanners call fileno if it is not ANSI compatible?
 
 How do I expand backslash-escape sequences in C-style quoted strings?
 =====================================================================
 
 A key point when scanning quoted strings is that you cannot (easily)
 write a single rule that will precisely match the string if you allow
 things like embedded escape sequences and newlines.  If you try to
 match strings with a single rule then you'll wind up having to rescan
 the string anyway to find any escape sequences.
 
    Instead you can use exclusive start conditions and a set of rules,
 one for matching non-escaped text, one for matching a single escape,
 one for matching an embedded newline, and one for recognizing the end
 of the string.  Each of these rules is then faced with the question of
 where to put its intermediary results.  The best solution is for the
 rules to append their local value of `yytext' to the end of a "string
 literal" buffer.  A rule like the escape-matcher will append to the
 buffer the meaning of the escape sequence rather than the literal text
 in `yytext'.  In this way, `yytext' does not need to be modified at all.
 
Info Catalog (flex.info.gz) When was flex born? (flex.info.gz) FAQ (flex.info.gz) Why do flex scanners call fileno if it is not ANSI compatible?
automatically generated byinfo2html