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 | 13770 total (3 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] |