首页 > 其他 > 详细

第一章 flex单词计数程序

时间:2015-07-11 08:55:48      阅读:244      评论:0      收藏:0      [点我收藏+]

学习Flex&Bison目标, 读懂SQLite中SQL解析部分代码

Flex&Bison简介
Flex做词法分析
Bison做语法分析

第一个Flex程序, wc.fl, 单词计数程序

%{
int chars = 0;
int words = 0;
int lines = 0;
%}
%%
[a-zA-Z]+ { words++; chars += strlen(yytext); }
\n { chars++; lines++; }
. { chars++; }
%%
main(int argc, char **argv)
{
yylex();
printf("%8d%8d%8d\n", lines, words, chars);
}

 




程序说明
程序包含3部分
1. 声明和选项设置
2. 模式和动作
3. 会被拷贝到生成的词法分析器里的C代码

1. 声明部分的代码, 会被原样拷贝到C代码头文件中
2. 模式部分是: 正则表达式+C代码{}
3. yylex()是词法分析程序入口, 有主程序main调用

编译执行
flex wc.l
cc lex.yy.c -lfl
./a,out
然后在标准输入, 输入文字
^D
得到结果

第一章 flex单词计数程序

原文:http://www.cnblogs.com/xzpp/p/4638015.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!