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に慣れていないので、私が気付いていない、これを行うためのいくつかの素晴らしい簡潔な方法があると確信しています。どんな助けでもいただければ幸いです。
再度、感謝します。