gpt4 book ai didi

Python PLY Lex 歧义

转载 作者:行者123 更新时间:2023-11-28 18:50:11 34 4
gpt4 key购买 nike

我对 token 级别的歧义有疑问。

问题看起来是这样的。我的代码看起来像这样,因此标记 t_UN1 具有更高的优先级。

t_ignore = ' \t\v\r' # whitespace 

....

def t_UN1(t): #NS_
r'NS\_'
return t
def t_IDENTIFIER(t):
r'[a-zA-Z][a-zA-Z0-9_]*'
return t

....

我想实现那个,例如。字符串:NS_XYZ 被标识为“IDENTIFIER”被空格包围的单个 NS_ 被标识为“UN_1”。

我该如何处理?目前字符串 NS_XYZ 被简单地拆分为两个标记 UN1 和 IDENTIFIER

最佳答案

如果您希望获得“被空格包围的单个 NS_”,您可以将空格字符类添加到您的标记字符串中:

def t_UN1(t): #NS_
r'\s+NS\_\s+'
return t

旁注:对于 PLY 问题,ply-hack google group是询问 PLY 相关问题的好地方。

关于Python PLY Lex 歧义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14147529/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com