我正在尝试学习如何使用Parsec
来编写 Delphi 解析器,但我在定义 LanguageDef 时遇到了困难。
在 Delphi 中,有两种类型的注释块,(* comments *)
和{ comments }
. 但是LanguageDef的commentStart和commentEnd的类型是String,而不是[String],所以只能放其中一个。
因此,我尝试制作自己的 whiteSpace 解析器,但我不确定我是否真的可以将它传递给makeTokenParser
.
任何帮助,将不胜感激。
谢谢
John 和 Chris 帮助我理解并解决了这个问题,但解决方案涉及替换提供的大量解析器makeTokenParser
,因此它并不是完全可取的。
如果我能找到更好的解决方案,我会再次发布。