Lex 简明教程(一 示例)
来源:互联网 发布:滤波反投影算法matlab 编辑:程序博客网 时间:2024/05/21 09:44
关于lex的理论就不说了,先用一个例子说明lex如何使用。以下均在Ubuntu7.04下完成。
首先安装好C的开发环境。
sudoapt-get install build-essential.
再装好flex(Linux下的lex).
sudoapt-get install flex
执行下面命令:
flex--version
如果显示flex 2.5.33则说明flex已经安装好。
首先写一个简单的flex程序。flex1.l
%{
#include<stdio.h>
intk;
%}
%%
[0-9]+ {
k =atoi(yytext);
if(k%7 == 0)
printf("%d", k+3);
else
printf("%d",k);
}
%%
这个程序把遇到是7的倍数加3以后输出,如果不是3的倍数,则原样输出。
用这个命令将其转化成C程序:
yin@yin-desktop:~/Desktop/code$flex lex1.l
这样目录下会生成一个lex.yy.c文件,这是一个C程序。
执行:
yin@yin-desktop:~/Desktop/code$gcc -c lex.yy.c
编译这个文件,会生成lex.yy.o 文件。
执行这个命令,使之与lex库连接,生成可执行文件parser
yin@yin-desktop:~/Desktop/code$gcc -o parser lex.yy.o -ll
下面创立一个测试文件data.txt:
11
14d
snsdg
21
33
执行程序:
yin@yin-desktop:~/Desktop/code$./parser<data.txt
得到输出:
11
17d
snsdg
24
33
- Lex 简明教程(一 示例)
- Retrofit2 简明教程(一)
- Retrofit2 简明教程(一)
- WebMagic简明教程(一)
- NumPy简明教程(一、简介)
- 简明Python教程学习笔记(一)
- Swift简明教程一(数据类型)
- JSP简明教程(一):JSP简介
- python简明教程学习笔记(一)
- Linux Shell简明教程(一)
- Linux Shell简明教程(一)
- Linux-git简明教程(一)
- 《简明Python教程》学习(一)
- NumPy简明教程(一、简介)
- GNU Make 简明教程 (一)
- 简明C语言教程(一)前言
- Jekyll简明教程(一)安装
- Linux Shell简明教程(一)
- 域名查询
- 查看svchost启动了哪些服务并杀之的方法
- 计算二进制int型中“1”的个数的算法
- DLL 版本号的获取
- 用Visual C++ 2005 Express Edition开发Win32应用程序
- Lex 简明教程(一 示例)
- 内存映射文件
- (IBM官方文章)使用 Spring 更好地处理 Struts 动作
- 《疯狂的程序员》摘录
- 跟据出生日期计算年龄
- 项目的管理的目标
- apache一机多站IP法
- 常用数据库JDBC连接写法
- 程序员的臭毛病