我正在使用Lex來解析C程序中給定的輸入字符串。一切工作到目前爲止,但我想知道原始輸入字符串中的匹配標記的範圍。這可能嗎?檢索與Lex/Yacc相匹配的令牌的範圍
yytext給我匹配的標記,但不是原始字符串中標記的範圍。由於令牌可能會在輸入字符串中存在多次,但不一定每次都有效,所以我不能簡單地搜索第一個/最後一個/ etc。輸入字符串令牌的發生 - 我需要知道這場比賽爲下面的示例中的確切範圍表明:
例輸入:「提醒我買牛奶在5分鐘內」
token "min": range 27-30 (and not 2-5)
我已經查看過yy_buffer_state,但它似乎並不包含我需要的信息。
請注意標記您的問題。這與Adobe/Apache Framework無關,因此不應使用Flex標籤。 gnu-flex用於詞法分析器。 – JeffryHouser