- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个基于 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/
我是一名优秀的程序员,十分优秀!