gpt4 book ai didi

f# - 如何为 .NET Compact Framework 构建 FParsec?

转载 作者:行者123 更新时间:2023-12-04 06:12:26 24 4
gpt4 key购买 nike

我正在编写一个基于 FParsec 的小应用程序。

今天,我正在寻找机会为 Compact Framework 制作一个版本。
显然,为 .NET CF 构建 FParsec 源并不是那么简单。 FParsecCS 库有不安全的代码和一些在 CF 中不可用的类型的引用。即,System.Collections.Generic.HashSet , System.Text.DecoderFallbackException , 和更多。

我想知道有没有什么办法让它建起来。显然,我尽量不修改代码,因为当 FParsec 的进一步版本发布时很难更新。

我真的不关心性能。如果有通用的CharStream可以用来代替您拥有的高性能的,这就足够了。

感谢您的帮助。

最佳答案

我没有任何使用 .NET CF 的经验,也从未尝试让 FParsec 在其上运行。但是,有一个 Silverlight 版本的 FParsec,它可能是移植到 .NET CF 的一个很好的起点。 Silverlight 版本建立在 LOW_TRUST version 之上FParsec,它不使用任何“不安全”代码。希望 LOW_TRUST 版本的流大小限制不会成为您的应用程序的问题。

处理HashSet的最简单方法依赖可能是实现你自己的简单 HashSet类型(基于 Dictionary ),它实现了 FParsec 实际用于其错误处理的少数方法。如果DecoderFallbackException不支持,您可以注释掉相应的异常处理程序。

如果您使用 HG 跟踪更改,合并到 FParsec 的更新应该不难。根据 .NET CF 的更改范围,我还可以将它们包含在另一个条件编译器符号的主源代码树中。

关于f# - 如何为 .NET Compact Framework 构建 FParsec?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7622544/

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