首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在FParsec中使用带有标识符解析器的预处理功能?

在FParsec中使用带有标识符解析器的预处理功能?
EN

Stack Overflow用户
提问于 2012-02-10 22:37:13
回答 1查看 203关注 0票数 5

我使用FParsec的identifier解析器来解析变量和函数的名称,它们通常是Unicode和ASCII字符的混合。但有时我会在开头(如\u03C0)或标识符内(如swipe_board\u003A_b)转义Unicode字符。我仍然可以使用isAsciiIdStartisAsciiIdContinue选项使它们可解析,但不能定义自己的自定义函数在规范化之前进行预处理。这里有什么解决方案呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-10 23:28:02

identifier解析器首先在内部解析字符串,然后将其传递给IdentifierValidator实例进行验证。由于C# IdentifierValidator类是可公开访问的(尽管没有文档记录),因此您可以轻松地使identifier解析器适应您的需要(通过使初始字符串解析步骤也能识别转义)。

标识符解析有点复杂,因为支持UTF-16代理项对、标准化和Unicode XID字符类别,这在.NET上不是本机支持的。也许您只需要支持CharUnicodeInfo.GetUnicodeCategory支持的字符类别中指定的ASCII码或UCS-2标识符,在这种情况下,您可能可以使用many1Satisfy2many1Chars2在一个步骤中实现解析和验证。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9229425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档