1

現在、私は大学の宿題に取り組んでおり、タスクの 1 つは、ダミー プログラミング言語 ("Hi" という名前) の Haskell パーサーに文字列リテラルのサポートを追加することです。

私はそのコードでこのタスクを解決しました:

parseString = do
   res <- char '\"' *> manyTill charLiteral (char '\"')
   return (HiValueString (pack res))

betweenしかし、 ?を使用してこのタスクを解決する方法がわかりません。次のように、このパーサーのコードを短くしたいと思います。

parseString = do
   res <- between '\"' '\"'
   return (HiValueString (pack res))
4

1 に答える 1