我正在构建NATURAL编程语言的部分解析器。评论以"/*"
,"* "
或"** "
开头,并以该行结束。后两种模式用于将整行标记为注释,因此它们可以仅以空格开头。对于第一种类型,
parser.ignore("/* " + SkipTo(lineEnd))
工作正常。对于第二种类型,我试过
parser.ignore(lineStart + Optional(White(" ")) + "* " + SkipTo(lineEnd))
在"* "
位于行的开头时有效,但在前面有空格时则无效。
我错过了什么?