JFlex を使用して、複数行の文字列リテラルを含む言語を解析しようとしています。
例:
'''
this is a valid multiline string literal with 'quoted' word
'''
2 つの状態を作成しました。
%x IN_QUOTED_STRING
%x IN_MULTILINE_QUOTED_STRING
いくつかのマクロとルールを作成しました。
QUOTED_STRING_TAIL=[^\']* "'"
QUOTED_STRING_START="@"? "'"
MULTILINE_QUOTED_STRING_START = "@"? "'''"
MULTILINE_QUOTED_STRING_TAIL = [.]* "'''"
%%
<YYINITIAL> {MULTILINE_QUOTED_STRING_START} {yybegin(IN_MULTILINE_QUOTED_STRING);}
<YYINITIAL> {QUOTED_STRING_START} {yybegin(IN_QUOTED_STRING);}
<IN_QUOTED_STRING> {QUOTED_STRING_TAIL} {yybegin(YYINITIAL); return STRING;}
<IN_MULTILINE_QUOTED_STRING> {MULTILINE_QUOTED_STRING_TAIL} {yybegin(YYINITIAL); return STRING;}
しかし、うまくいきません。「エラー: 入力が一致しませんでした」というメッセージが表示されます
誰でも問題を解決できますか?