【发布时间】:2013-06-23 13:53:13
【问题描述】:
我正在尝试使用 Flex 制作一个简单的扫描仪。在声明部分,我尝试使用 {-} 运算符从 id 中排除保留字,但我无法让它工作。我发现的每个示例都使用 {+} 和 {-} 运算符,如下代码所示:
[a-z]{-}[d]
但是,我尝试在以下代码中使用这些运算符,但我总是收到错误:
invalid_id "char"|"else"|"if"|"class"|"new"|"return"|"void"|"while"|"int"
all_ids [a-zA-Z_][a-zA-Z0-9_]*
id {all_ids}{-}{invalid_id}
有什么办法让它工作吗?这些运算符可以不用方括号吗?
【问题讨论】:
标签: operators flex-lexer