Queryparser supports parsing and analysis for three SQL-dialects, i.e., Vertica, Hive, and Presto. Each dialect implements its own tokenization and parsing logic. There is a single abstract syntax tree (AST) for representing queries of any dialect. This AST is defined in Database/Sql/Type.hs and Database/Sql/Type/Query.hs. The parsing logic produces an AST with table and column identifiers that are "raw" or optionally qualified.