2016-12-19 2 views
0

私はシンプルなlexファイルを持っています。flex 2.5.35は、lexファイルでctrl-Mを使用するとエラーになります

%{ 
#include <stdio.h> 
%} 

space_char  [ \t\^M] 
space   {space_char}+ 

%% 

%% 

int yywrap(void) { 
    return 1; 
} 

int main(void) { 
    yylex(); 
    return 0; 
} 

私はフレックス-2.5.35で、このファイルをコンパイルすると、それがエラーを以下与えます: lex.l:5:悪い文字: lex.l:5:名前は二回

定義されたがしかし、 flex-2.5.4では正常に動作します。 このエラーは特殊文字ctrl-m(キャリッジリターン)が原因であると私は理解しています。 flex-2.5.35がctrl-l、ctrl-mなどの特殊文字をサポートしていないかどうかを知りたいですか?もしそうなら、代わりの方法は何ですか?注意してください、私は2.5.35の使用に制限されています。

ありがとうございました。

答えて

0

Cと同様に、\rをキャリッジリターン文字として使用できます。

関連する問題