使用替代解析器时,是否有选项可以获得哪个解析器匹配输入。
我的输入字符串可以是格式
{firstPart_number} {secondPart_operator_symbol} {thirdPart}
这里firstPart总是数字,第二部分是解析运算符的替代解析器,而thirdPart也是替代(数字,字符串列表)。
示例输入
1 + 2
5 * 3
1 in {2,45,6}
由于我所区分的联合会的类型不同,我想知道哪个解析器匹配输入,以便基于该解析器我可以创建我的判别联合类型的实例?
如何在FParsec中处理这种情况,其中我的第一部分在解析器中是相同的,但第二和第三解析器是不同的并且基于使用|>>
的实例化类型
答案 0 :(得分:0)
我目前的问题是使用带有替代品的尝试解析器解决的。尝试将回溯如果它不匹配,下一个替代解析器将再次解析输入并匹配