FlexをC++で利用するためには、以下のコードのように修正する。

/*
* Flexファイルを作成する しかも、C++ ヴァージョンで
*/

%{
#include <iostream>
int yywrap();
%}
%%
[1-9][0-9]*				{ std::cout << "number: " << atoi(yytext) << std::endl; }
[a-zA-Z_][0-9a-zA-z_]*	{ std::cout << "string: " << yytext << std::endl; }

%%
int yywrap() {
	return 1;
}

int main()
{
	FlexLexer* lexer = new yyFlexLexer();
	lexer->yylex();
	return 0;
}

flex -+ oflex0001 flex0001.l
g++ flex0001.cc -o flex0001
で、実行形式flex0001を作成することができる。
最終更新:2009年01月12日 06:21