我正在尝试使用 Parsec 在 Haskell 中编写解析器。目前我有一个可以解析的程序
test x [1,2,3] end
执行此操作的代码如下
testParser = do {
reserved "test";
v <- identifier;
symbol "[";
l <- sepBy natural commaSep;
symbol "]";
p <- pParser;
return $ Test v (List l) p
} <?> "end"
其中 commaSep 定义为
commaSep = skipMany1 (space <|> char ',')
现在有什么方法可以让我解析类似的语句,特别是:
test x [1...3] end
作为 Haskell 和 Parsec 的新手,我确信有一些我不知道的简洁的好方法。任何帮助,将不胜感激。
再次感谢。