我们如何以符合标准,平台无关(即.net + mono)的方式解析C#中的CSS2?
我们已经构建了一个ANTLR解析器但对结果不满意 - 它使用了太多内存,并且很难在ANTLR中实现正确的CSS错误恢复语义。
详细的建议将不胜感激。 CSS显然不简单 - 特别是在其错误恢复和向前兼容的解析约定中。有两种语法规范(每种都有词法规范)都需要以某种方式实现 - one提供错误恢复和前向兼容性,the other体现了详细的CSS2规范。
我在C#中看到的唯一解析器是"玩具"不符合标准的解析器,特别是在错误处理和恢复以及向前兼容性方面。
(对于计划将我们指向现有代码的任何人:首选C#,但我们可以将Java或C ++转换为C#。请注意,GPL或其他copyleft代码 不可行可供使用我们。)
[顺便说一句,我不相信这个问题不合适。我已经阅读了这篇meta帖子,并认为这个问题并不能代替常规搜索引擎研究。"我已经找了一年多的好答案,我很乐意列出我已经完成的所有研究,但是 39;找到了解决方案。]