Compiler construction “的含义\\&引用;flex扫描生成器
我正在读flex手册的一部分。以下是本页给出的示例的一部分:Compiler construction “的含义\\&引用;flex扫描生成器,compiler-construction,flex-lexer,lexical-analysis,Compiler Construction,Flex Lexer,Lexical Analysis,我正在读flex手册的一部分。以下是本页给出的示例的一部分: <str>\n { /* error - unterminated string constant */ /* generate error message */ } ... <str>\\n *string_buf_ptr++ = '\n'; ... \n{ /*错误-未终止的字符串常量*/ /
<str>\n {
/* error - unterminated string constant */
/* generate error message */
}
...
<str>\\n *string_buf_ptr++ = '\n';
...
\n{
/*错误-未终止的字符串常量*/
/*生成错误消息*/
}
...
\\n*string_buf_ptr++='\n';
...
\n和\\n之间有什么区别
感谢您的帮助
匹配换行符(通常为\n
)。如果在到达换行符之前未终止C样式带引号的字符串,则该规则将触发,并将其视为错误Ox0A
匹配一个反斜杠,后跟字母\\n
。如果带引号的字符串包含两个字符的序列n
,则会触发该规则,并将其替换为单个换行符。(其他六个C样式的字母转义序列也应该有规则,\n
,\a
,\b
,\f
,\r
,和\t
——每一个都用适当的控制字符替换——但由于我无法证明的原因,其中两个丢失了。)\v