Lex を使用して、C プログラムで特定の入力文字列を解析しています。これまでのところすべてが機能していますが、元の入力文字列で一致したトークンの範囲を知りたいです。これは可能ですか?
yytext は一致したトークンを提供しますが、元の文字列のトークンの範囲は提供しません。トークンは入力文字列に複数回存在する可能性がありますが、毎回有効であるとは限らないため、単純に最初/最後などを検索することはできません。入力文字列でのトークンの出現 - 次の例が示すように、一致の正確な範囲を知る必要があります。
入力例: 「5 分後に牛乳を買うようリマインドして」
token "min": range 27-30 (and not 2-5)
yy_buffer_state は既に調べましたが、必要な情報が保持されていないようです。