跳到内容
新问题

对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。

单击“注册GitHub”,表示您同意我们的服务条款隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。

已经在GitHub上了?登录到您的帐户

汤普森NFA正则表达式引擎在匹配时不会提前流位置 #258

关闭
12项任务中的2项
巴伦布拉特已打开此问题2022年10月2日·1条评论
关闭
12项任务中的2项

汤普森NFA正则表达式引擎在匹配时不会提前流位置 #258

巴伦布拉特已打开此问题2022年10月2日·1条评论
受让人
标签
缺陷 有些东西不起作用了 固定在110.99.4中 将在110.99.4版本中修复的问题 regexp-lib(正则表达式) SML/NJ库的RegExp组件出现问题

评论

@巴伦布拉特
复制链接

巴伦布拉特 评论2022年10月2日

版本

11.97年前

操作系统

  • 任何
  • Linux操作系统
  • macOS操作系统
  • 窗户
  • 其他Unix

操作系统版本

Debian 11.5(“牛眼”)

处理器

  • 任何
  • 手臂(使用Rosetta)
  • PowerPC公司
  • 斯巴达克
  • x86(32位)
  • x86-64(64位)
  • 其他

系统组件

SML/NJ图书馆

严重程度

次要

描述

与回溯和基于DFA的正则表达式引擎不同,该引擎基于Thompson NFA构造(汤普森发动机)匹配时不前进流游标。也就是说,我在这个错误报告中提供的示例代码打印出来了

一些(真的,“xxx”)一些(真的,“xxx”)一些(真的,“xxx”)一些(真的,“truexxx”)

成绩单

无响应

预期行为

Thompson引擎应该表现出与其他正则表达式引擎相同的行为。也就是说,我在这个错误报告中提供的示例代码应该产生

一些(真的,“xxx”)一些(真的,“xxx”)一些(真的,“xxx”)一些(真的,“xxx”)

复制步骤

汤普森sml:

(*版权所有2022 Google LLC
*SPDX许可证标识符:Apache-2.0*)
结构回溯=RegExpFn(结构P=Awk语法结构E=BackTrackEngine)结构DFA=注册ExpFn(结构P=Awk语法结构E=DfaEngine)结构汤普森=RegExpFn(结构P=Awk语法结构E=汤普森发动机)乐趣 boolScanBackTrack获得=BackTrack.match(BackTrack匹配)[("真实的",fn公司_ =>真实的), ("",fn公司_ =>)]获得乐趣 boolScanDFA(布尔扫描DFA)获得=DFA.匹配[("真实的",fn公司_ =>真实的), ("",fn公司_ =>)]获得乐趣 boolScanThompson公司获得=汤普森匹配[("真实的",fn公司_ =>真实的), ("",fn公司_ =>)]获得乐趣 赛跑选手(f)=案例f Substring.getc(Substring.full"特鲁克斯xx")属于 =>打印""|一些(v,s)=>打印("一些("^Bool.toString v型^",\""^子字符串^"\")\n个")val值() = (runMatcher Bool.scan;runMatcher boolScanBackTrack;runMatcher boolScanDFA;runMatcher boolScanThompson)

汤普森厘米:

(*版权所有2022 Google LLC*SPDX-License-Identifier:Apache-2.0*)组是美元/基础.cm$/regexp-lib.cm汤普森sml

其他信息

虽然我运行的是旧版本的SML/NJ,但我已经验证了这种行为在最新汤普森发动机.sml.

电子邮件地址

bbarenblat@gmail.com

@巴伦布拉特 巴伦布拉特补充这个缺陷 有些东西不起作用了标签2022年10月2日
@JohnReppy公司 JohnReppy公司补充这个regexp-lib(正则表达式) SML/NJ库的RegExp组件出现问题标签2022年10月3日
@JohnReppy公司 JohnReppy公司补充这个固定在110.99.4中 将在110.99.4版本中修复的问题标签2023年7月27日
@JohnReppy公司
复制链接
贡献者

110.99.4固定

免费注册 在GitHub上加入此对话.已经有帐户了吗?登录以发表评论
标签
缺陷 有些东西不起作用了 固定在110.99.4中 将在110.99.4版本中修复的问题 regexp-lib(正则表达式) SML/NJ库的RegExp组件出现问题
项目
还没有
开发

没有分支或拉请求

2名参与者