我正在使用 Lex 解析 C 程序中的给定输入字符串。到目前为止一切正常,但我想知道原始输入字符串中匹配标记的范围。这可能吗?
yytext 给我匹配的标记,但不是原始字符串中标记的范围。由于令牌可能在输入字符串中存在多次,但不一定每次都有效,因此我不能简单地搜索第一个/最后一个/等。在输入字符串中出现标记 - 我需要知道匹配的确切范围,如下例所示:
示例输入:“提醒我在 5 分钟内买牛奶”
token "min": range 27-30 (and not 2-5)
我已经查看了 yy_buffer_state ,但它似乎没有包含我需要的信息。