《Flex&Bison》例2-2代码
来源:互联网 发布:php解析json数组对象 编辑:程序博客网 时间:2024/06/15 05:14
该示例统计一个或多个输入文件中的行数、单词数及字符数。最后汇总的所有文件的行数、单词数及字符数。
如果没有提供输入文件,则从标准输入获取输入。
CMakeLists.txt
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)SET(PROJ_NAME fb2-2)PROJECT(${PROJ_NAME})find_package(Flex)FLEX_TARGET(MyScanner ${PROJ_NAME}.txt ${CMAKE_CURRENT_BINARY_DIR}/lexer.c)ADD_EXECUTABLE(${PROJ_NAME} ${FLEX_MyScanner_OUTPUTS})
fb2-2.txt
%option noyywrap%{int chars = 0;int words = 0;int lines = 0;int totchars = 0;int totwords = 0;int totlines = 0;%}%%[a-zA-Z]+ { ++words; chars += yyleng; }\n { ++lines; ++chars; }. { ++chars; }%%int main(int argc, char ** argv){ int i; if (argc<2) { yylex();printf("%8d%8d%8d\n", lines, words, chars);return 0; } for (i=1; i<argc; ++i) { FILE * f = fopen(argv[i], "r");if (!f){ perror(argv[i]); return 1;}yyrestart(f);yylex();fclose(f);printf("%8d%8d%8d %s\n", lines, words, chars, argv[i]);totchars += chars; chars = 0;totwords += words; words = 0;totlines += lines; lines = 0; } if (argc>1) {printf("%8d%8d%8d total\n", totlines, totwords, totchars); } return 0;}
0 0
- 《Flex&Bison》例2-2代码
- 《Flex & Bison》例2-1代码
- flex、bison代码在visual studio 编译
- FLEX&BISON学习笔记(二:分析calculator 2 )
- flex bison
- bison & flex
- flex&bison
- flex bison
- flex&&bison
- C语言解释器-2 用于参考的Flex和Bison脚本
- 创建一门新的编程语言-Flex&Bison教程-(2)-加减乘除
- Flex/Lex&Bison/Yacc
- flex and bison.[link]
- Bison-Flex 笔记
- flex&bison 学习笔记
- Bison-Flex 笔记
- Bison-Flex 笔记
- Bison-Flex 笔记
- android原生自带的分享功能
- 字段和属性的区别
- 我的Unity笔记本
- ffmpeg 新老接口问题及对照集锦
- 北邮工程硕士_数据库系统设计_考试复习答案
- 《Flex&Bison》例2-2代码
- 求1+2+...+n
- listview 不可滑动问题解决
- php返回json数据到html前端
- 如何提高中小企业信息化应用程度
- Oracle中的FORALL语句
- delegate使用方法之assign
- 360面试小结
- Linux的SOCKET编程详解