hssqlppp: Sql parser and type checker
Sql parser, pretty printer and type checker, targets PostgreSQL SQL and PL/pgSQL, uses Parsec and UUAGC.
Overview:
see the module Ast for the ast types;
Parser for converting text to asts;
PrettyPrinter for converting asts to text;
AnnotateSource for pretty printing annotations inline with original source;
TypeChecker for type checking and annotating asts and working
with annotated trees;
SqlTypes for the data types which represent SQL types, the data
type for type errors, and some support functions;
Annotation for the annotation data types and utilities;
Environment to read a catalog from a database to type check against,
or to generate catalog information;
DatabaseLoader for the beginnings of a routine to load SQL into
a database (e.g. to generate an ast then load it into a database
without loading it via psql). The loader just about does the job
but error handling is a bit crap at the moment.
CommandComponents for the component functions used in the HsSqlSystem
exe.
ChaosExtensions for the experimental plpgsql syntax extensions.
Comes with command line access to some functions via a exe called HsSqlSystem, run this file with no arguments to get some help. Has a HUnit test suite which you can run using the HsSqlSystem executable. for the time being you can look at the source of this command to see what it can do:
http://bazaar.launchpad.net/~jakewheat/hssqlppp/trunk/annotate/head:/HsSqlSystem.lhs
See the project page https://launchpad.net/hssqlppp for more information and documentation links.
The test files for parsing and for type checking contain examples of what parses/ typechecks and what the asts and annotations look like:
[Skip to Readme]
Modules
- Database
- HsSqlPpp
- Ast
- Database.HsSqlPpp.Ast.Annotation
- Database.HsSqlPpp.Ast.Ast
- Database.HsSqlPpp.Ast.Environment
- Database.HsSqlPpp.Ast.SqlTypes
- Database.HsSqlPpp.Ast.TypeChecker
- Commands
- Database.HsSqlPpp.Commands.CommandComponents
- Dbms
- Database.HsSqlPpp.Dbms.DatabaseLoader
- Extensions
- Database.HsSqlPpp.Extensions.ChaosExtensions
- Parsing
- Database.HsSqlPpp.Parsing.Parser
- PrettyPrinter
- Database.HsSqlPpp.PrettyPrinter.AnnotateSource
- Database.HsSqlPpp.PrettyPrinter.PrettyPrinter
- Ast
- HsSqlPpp
Downloads
- hssqlppp-0.1.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.0.9, 0.0.10, 0.1.0, 0.2.0, 0.3.0, 0.3.1, 0.4.0, 0.4.1, 0.4.2, 0.6.0, 0.6.1, 0.6.2 |
|---|---|
| Dependencies | base (>=4 && <5), cmdargs, containers, directory, filepath, haskell-src-exts, haskell98, HDBC, HDBC-postgresql, HUnit, mtl, parsec (>=3), Pipe, pretty, pretty-show, process, regex-posix, syb, template-haskell, test-framework, test-framework-hunit, uniplate [details] |
| License | BSD-3-Clause |
| Copyright | Copyright 2009 Jake Wheat |
| Author | Jake Wheat |
| Maintainer | jakewheatmail@gmail.com |
| Category | Database |
| Home page | https://launchpad.net/hssqlppp |
| Bug tracker | mailto:jakewheatmail@gmail.com |
| Uploaded | by JakeWheat at 2010-01-13T23:59:41Z |
| Distributions | |
| Reverse Dependencies | 4 direct, 0 indirect [details] |
| Executables | HsSqlSystem |
| Downloads | 13948 total (47 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs not available [build log] All reported builds failed as of 2016-12-30 [all 6 reports] |