我正在用 Parsec 编写我的第一个程序。我想解析 MySQL 模式转储,并想想出一种很好的方法来解析代表某些关键字的字符串以不区分大小写的方式。这是一些代码,显示了我用来解析“CREATE”或“create”的方法。有一个更好的方法吗?最好不要求助于 buildExpressionParser 的答案。我在这里采取婴儿步骤。
p_create_t :: GenParser Char st Statement
p_create_t = do
x <- (string "CREATE" <|> string "create")
xs <- manyTill anyChar (char ';')
return $ CreateTable (x ++ xs) [] -- refine later