一. flex格式文件 test.l
%{
#include "stdio.h"
#include "stdlib.h"
void print();
int _tmain(int argc,_TCHAR*argv[]);
int num_digit=0,num_letter=0,num_enter=0;
%}
DIGIT [0-9]
LETTER [A-Za-z]
%%
{DIGIT} {num_digit++;}
{LETTER} {num_letter++;}
/n {num_enter++;}
. {/*其它字符不作处理*/}
%%
int _tmain(int argc, _TCHAR* argv[])
{
yyin=fopen("ccx_test1.c","r");
yylex();
printf("num=%d,letter=%d,enter=%d",
num_digit,num_letter,num_enter);
return 0;
}
int yywrap()
{
return 1;
}
二.有了这个文件利用命令行生成c文件,格式如下:
E:/Tools/flex>flex.exe test.l
然后生成LEXYY.C文件。
三.在vs2003下建立一个空的console程序testlex
将testlex.cpp文件从工程中删除。然后加载LEXYY.C,编译运行生成可执行文件即可。