标签列表
如何在Flex(词法分析器)中启用最短匹配规则?
match
flex-lexer
shortest
10
10
默认情况下,flex使用最长匹配规则。是否有任何方法可以覆盖此行为,使其匹配最短序列?
谢谢
-
VilleDePommes
1
不,如果你有它的话也不会想要它。例如,许多词法分析器(如果不是大部分)都以一个万能规则结尾
. return yytext[0];
。那将成为唯一起作用的规则。
- user207421
1
个回答
2
2
这篇Flex手册中的页面指出它没有非贪婪操作符,因为它是一个扫描器而不是解析器,并建议使用正则表达式来添加缺失的功能。请参考
此页
。
-
Matthew Strawbridge
1
2
我并不是指贪婪操作符本身。如果你有完全独立的正则表达式,都匹配某个字符串前缀,那么词法分析器默认会选择最长的那个。我需要的是让它选择更短的那个,重新开始匹配。
- VilleDePommes
回答链接
网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接
相关问题
4
Flex: 尝试使用Flex生成C++词法分析器时遇到“无法识别的规则”错误
61
将字符串输入转换为Flex词法分析器
4
Flex(词法分析器)- 匹配Unicode
9
使用Flex编写可重入的词法分析器
10
我该如何处理Flex词法分析器中的词法错误?
29
Flex(词法分析器)对Unicode的支持
11
在Mac上安装flex(词法分析器)
3
基于Flex/Bison的C语言词法分析器/语法分析器
4
如何使用Flex(快速词法分析器)进行去词法化?
9
在OS X上使用Flex(词法分析器)
. return yytext[0];
。那将成为唯一起作用的规则。 - user207421