У меня нет опыта работы с .NET CF, и я никогда не пытался запустить FParsec на нем. Однако существует версия FParsec Silverlight, которая может быть хорошей отправной точкой для порта на .NET CF. Версия Silverlight основана на версии LOW_TRUST FParsec, которая не использует какой-либо «небезопасный» код. Надеемся, что ограничение размера потока в версии LOW_TRUST не станет проблемой для вашего приложения.
Самый простой способ справиться с зависимостью HashSet
, вероятно, заключается в реализации собственного простого типа HashSet
(на основе Dictionary
), который реализует несколько методов, которые фактически использует FParsec для обработки ошибок. Если DecoderFallbackException
не поддерживается, вы можете просто закомментировать соответствующие обработчики исключений.
Если вы отслеживаете свои изменения с помощью HG, не составит труда объединить обновления в FParsec. В зависимости от того, насколько обширны изменения для .NET CF, я мог бы также включить их в главное дерево исходных текстов для другого условного символа компилятора.