为什么以下 Parslet 解析器不适用于解析逗号分隔的列表?当我解析时,它卡住并且不提供错误消息:
class TestParser < Parslet::Parser
rule(:name) { match['a-z'].repeat >> str(',').maybe }
rule(:names) { name.repeat }
root(:names)
end
TestParser.new.parse_with_debug('tom,samantha,ricardo') # hangs here
我知道“直到出现分隔符的 Parslet 词”,并且我知道如何以其他方式解析列表,但我不明白为什么上述方法不起作用。