0

是否可以使用 std::string 作为 Flex 中规则的模式?

例子:

%{
...
string foo
...
%}
...
%%
foo {}
%%
...
4

1 回答 1

3

至少如果我明白你在问什么,答案是否定的。

为 Flex 扫描器指定的模式必须是常量——即,当 Flex 运行时,它会将它们转换为状态机。它生成的代码主要是状态机的一组表。为此,当 Flex 本身运行时,必须知道所涉及的所有字符串/模式。

顺便说一句,实际上没有 GNU Flex 这样的东西。Flex 不是 GNU 软件。

于 2013-01-10T19:26:24.687 回答