0
%{
#include<stdio.h>
int vowel=0;
%}
%%
[aeiouAEIOU]
{
vowel++;
}
%%
int main()
{
char str[200];
gets(str);
yylex();
printf("Vowels:",vowel);
}
%{
#include<stdio.h>
int vowel=0;
%}
%%
[aeiouAEIOU]
{
vowel++;
}
%%
int main()
{
char str[200];
gets(str);
yylex();
printf("Vowels:",vowel);
}
これがプログラムの書き方である場合は、エラーです。 Flexでは、ルールのアクションはパターンと同じ行で開始する必要があります。 flex manualから
:ルールセクション
の
5.2フォーマットフレックス入力のルールセクションはフォームの一連のルールが含まれています
pattern action
パターンインデントされていない必要があり、アクションは同じ行で開始する必要があります。
書かれているように、{
をパターンとして入力しています。それは有効なパターンではないので、フレックスは文句を言う。
お返事ありがとうございます。それを私が直した。 –