2017-09-24 1 views
0
%{ 
#include<stdio.h> 
int vowel=0; 
%} 

%% 

[aeiouAEIOU] 
{ 
vowel++; 
} 

%% 

int main() 
{ 
    char str[200];  
    gets(str); 
    yylex(); 
    printf("Vowels:",vowel); 
} 

答えて

0

これがプログラムの書き方である場合は、エラーです。 Flexでは、ルールのアクションはパターンと同じ行で開始する必要があります。 flex manualから

:ルールセクション

5.2フォーマットフレックス入力のルールセクションはフォームの一連のルールが含まれています

pattern action 

パターンインデントされていない必要があり、アクションは同じ行で開始する必要があります。

書かれているように、{をパターンとして入力しています。それは有効なパターンではないので、フレックスは文句を言う。

+0

お返事ありがとうございます。それを私が直した。 –

関連する問題