gpt4 book ai didi

c# - Irony 中的空白终止符和 MakePlusRule

转载 作者:太空宇宙 更新时间:2023-11-03 10:58:25 24 4
gpt4 key购买 nike

我正在尝试使用 Irony 创建一个相当简单的解析器, 但我得出的结论是 Irony 可能不适合这种特殊情况。

这些是我正在尝试解析的示例:

server_name  example.com  *.example.com  www.example.*; 

server_name www.example.com ~^www\d+\.example\.com$;

server_name ~^(?<subdomain>.+?)\.(?<domain>.+)$;

我正在使用带有空格或分号作为终止符的 FreeTextLiterals

var serverNamevalue = new FreeTextLiteral("serverNameValue", FreeTextOptions.None, " ", ";");

然后我使用 MakePlusRule 获取一个或多个 server_name 值:

httpCoreServerName.Rule = "server_name" + httpCoreServerNameItems + semicolon;
httpCoreServerNameItems.Rule = MakePlusRule(httpCoreServerNameItems, serverNamevalue);

但是 - 我认为在这种情况下将空格作为 FreeTextLiteral 的终止符存在问题。当我运行它时,出现解析器错误。如果我将空格替换为另一个特定字符以充当终止符(并在对 MakePlusRule 的调用中添加一个定界符)- 它工作正常。

有人知道我如何在 Irony 中处理这个问题吗?

最佳答案

我在 Irony project on Codeplex 上发布了这个问题Irony 的开发者 Roman Ivantsov 确认在将分号与 FreeTextLiterals 一起使用时解析器存在问题。

Roman 已帮助修复/修补此问题。我已经下载了最新的源代码并且可以确认它已经解决了这个问题。

关于c# - Irony 中的空白终止符和 MakePlusRule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18578267/

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