知方号

知方号

Flex中文文档

4 Some Simple Examples

首先,通过一些简单的示例来了解使用flex。以下flex输入指定了一个扫描程序scanner,当它遇到字符串’username’将其替换为用户的登录名:

12%%username printf( "%s", getlogin() );

默认情况下,任何与flex scanner不匹配的文本都将被复制到输出中,因此,该scanner的最终效果是仅将每次出现的用户名替换了。在此输入中,只有一个规则(rule)。’username’是模式(pattern),而’print’就是action。’%%’符号标志着rules的开始。另一个简单的例子

1234567891011121314 int num_lines = 0, num_chars = 0;%% ++num_lines; ++num_chars;. ++num_chars;%%int main() { yylex(); printf( "# of lines = %d, # of chars = %d ", num_lines, num_chars ); }

该scanner计算其输入中的字符数和行数。除了有关字符数和行数的最终报告外,它不产生任何输出。第一行

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。