【发布时间】:2013-04-02 23:29:18
【问题描述】:
我正在使用 Lex 解析 C 程序中的给定输入字符串。到目前为止一切正常,但我想知道原始输入字符串中匹配标记的范围。这可能吗?
yytext 给了我匹配的标记,但不是原始字符串中标记的范围。由于令牌可能在输入字符串中存在多次,但不一定每次都有效,因此我不能简单地搜索第一个/最后一个/等。在输入字符串中出现标记 - 我需要知道匹配的确切范围,如下例所示:
示例输入:“提醒我在 5 分钟内买牛奶”
token "min": range 27-30 (and not 2-5)
我已经查看了 yy_buffer_state,但它似乎没有包含我需要的信息。
【问题讨论】:
-
请注意标记您的问题。这与 Adobe/Apache 框架无关,因此不应使用 Flex 标签。 gnu-flex 用于词法分析器。
标签: regex nlp yacc lex flex-lexer