Name: hssqlppp Version: 0.1.0 Synopsis: Sql parser and type checker Description: 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: . . See the project page 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: . . License: BSD3 License-file: LICENSE Author: Jake Wheat Maintainer: jakewheatmail@gmail.com Build-Type: Simple Cabal-Version: >=1.2.3 copyright: Copyright 2009 Jake Wheat stability: pre-alpha homepage: https://launchpad.net/hssqlppp bug-reports: mailto:jakewheatmail@gmail.com category: Database extra-source-files: README LICENSE docs/changelog docs/development docs/Introduction.txt docs/recordtests.sql docs/status docs/TODO docs/usage sqltestfiles/system.sql sqltestfiles/server.sql sqltestfiles/client.sql --find Database/ -type f -a ! -iname '*.o' -a ! -iname '*.hi' Database/HsSqlPpp/Utils.lhs Database/HsSqlPpp/Commands/CommandComponents.lhs Database/HsSqlPpp/Dbms/DBAccess.lhs Database/HsSqlPpp/Dbms/DatabaseLoader.lhs Database/HsSqlPpp/Dbms/WrapLib.lhs Database/HsSqlPpp/Dbms/WrapperGen.lhs Database/HsSqlPpp/Extensions/ChaosExtensions.lhs Database/HsSqlPpp/AstInternals/AnnotationUtils.lhs Database/HsSqlPpp/AstInternals/AstAnnotation.lhs Database/HsSqlPpp/AstInternals/AstInternal.hs Database/HsSqlPpp/AstInternals/Environment/DefaultTemplate1Environment.lhs Database/HsSqlPpp/AstInternals/Environment/EnvironmentReader.lhs Database/HsSqlPpp/AstInternals/Environment/EnvironmentInternal.lhs Database/HsSqlPpp/AstInternals/Environment/LocalIdentifierBindings.lhs Database/HsSqlPpp/AstInternals/AstInternal.ag Database/HsSqlPpp/AstInternals/TypeType.lhs Database/HsSqlPpp/AstInternals/TypeChecking/Dml.ag Database/HsSqlPpp/AstInternals/TypeChecking/SelectStatement.ag Database/HsSqlPpp/AstInternals/TypeChecking/TypeConversion.lhs Database/HsSqlPpp/AstInternals/TypeChecking/TableRefs.ag Database/HsSqlPpp/AstInternals/TypeChecking/Plpgsql.ag Database/HsSqlPpp/AstInternals/TypeChecking/TypeChecking.ag Database/HsSqlPpp/AstInternals/TypeChecking/Misc.ag Database/HsSqlPpp/AstInternals/TypeChecking/ErrorUtils.lhs Database/HsSqlPpp/AstInternals/TypeChecking/CreateTable.ag Database/HsSqlPpp/AstInternals/TypeChecking/CreateFunction.ag Database/HsSqlPpp/AstInternals/TypeChecking/Statements.ag Database/HsSqlPpp/AstInternals/TypeChecking/SelectLists.ag Database/HsSqlPpp/AstInternals/TypeChecking/Expressions.ag Database/HsSqlPpp/AstInternals/TypeChecking/Drops.ag Database/HsSqlPpp/AstInternals/TypeChecking/MiscCreates.ag Database/HsSqlPpp/Wrapper/WrapperTemplate.lhs Database/HsSqlPpp/Tests/ExtensionTests.lhs Database/HsSqlPpp/Tests/ParserTests.lhs Database/HsSqlPpp/Tests/DatabaseLoaderTests.lhs Database/HsSqlPpp/Tests/RoundtripTests.lhs Database/HsSqlPpp/Tests/TypeCheckTests.lhs Database/HsSqlPpp/Tests/ParameterizedStatementTests.lhs Database/HsSqlPpp/Here.lhs Database/HsSqlPpp/PrettyPrinter/AnnotateSource.lhs Database/HsSqlPpp/PrettyPrinter/PrettyPrinter.lhs Database/HsSqlPpp/HsText/Commands.lhs Database/HsSqlPpp/HsText/HsText.lhs Database/HsSqlPpp/Parsing/Lexer.lhs Database/HsSqlPpp/Parsing/Parser.lhs Database/HsSqlPpp/Parsing/ParseErrors.lhs Database/HsSqlPpp/Ast/Ast.lhs Database/HsSqlPpp/Ast/Environment.lhs Database/HsSqlPpp/Ast/Annotation.lhs Database/HsSqlPpp/Ast/SqlTypes.lhs Database/HsSqlPpp/Ast/TypeChecker.lhs Library Build-Depends: base >= 4 && < 5, mtl, parsec >= 3, pretty, containers, regex-posix, HDBC, HDBC-postgresql, directory, syb, uniplate, pretty-show, Pipe, process, --pandoc == 1.2.1, filepath, template-haskell, haskell-src-exts Exposed-modules: Database.HsSqlPpp.Ast.Ast Database.HsSqlPpp.Ast.TypeChecker Database.HsSqlPpp.Ast.Environment Database.HsSqlPpp.Ast.Annotation Database.HsSqlPpp.Ast.SqlTypes Database.HsSqlPpp.Parsing.Parser Database.HsSqlPpp.PrettyPrinter.PrettyPrinter Database.HsSqlPpp.PrettyPrinter.AnnotateSource Database.HsSqlPpp.Dbms.DatabaseLoader Database.HsSqlPpp.Commands.CommandComponents Database.HsSqlPpp.Extensions.ChaosExtensions Other-Modules: Database.HsSqlPpp.Utils --Database.HsSqlPpp.Here Database.HsSqlPpp.Dbms.DBAccess Database.HsSqlPpp.Dbms.WrapperGen Database.HsSqlPpp.Dbms.WrapLib Database.HsSqlPpp.AstInternals.AnnotationUtils Database.HsSqlPpp.AstInternals.AstAnnotation Database.HsSqlPpp.AstInternals.AstInternal Database.HsSqlPpp.AstInternals.Environment.DefaultTemplate1Environment Database.HsSqlPpp.AstInternals.Environment.EnvironmentReader Database.HsSqlPpp.AstInternals.Environment.EnvironmentInternal Database.HsSqlPpp.AstInternals.Environment.LocalIdentifierBindings Database.HsSqlPpp.AstInternals.TypeType Database.HsSqlPpp.AstInternals.TypeChecking.TypeConversion Database.HsSqlPpp.AstInternals.TypeChecking.ErrorUtils Database.HsSqlPpp.Tests.ExtensionTests Database.HsSqlPpp.Tests.TypeCheckTests Database.HsSqlPpp.Tests.ParserTests Database.HsSqlPpp.Tests.DatabaseLoaderTests Database.HsSqlPpp.Tests.ParameterizedStatementTests Database.HsSqlPpp.HsText.Commands Database.HsSqlPpp.HsText.HsText Database.HsSqlPpp.Parsing.Lexer Database.HsSqlPpp.Parsing.ParseErrors extensions: DeriveDataTypeable,RankNTypes,ScopedTypeVariables Executable HsSqlSystem Main-is: HsSqlSystem.lhs Build-Depends: base, haskell98, regex-posix, HDBC, HDBC-postgresql, directory, test-framework, test-framework-hunit, HUnit, cmdargs Other-Modules: Database.HsSqlPpp.Utils --Database.HsSqlPpp.Here Database.HsSqlPpp.Commands.CommandComponents Database.HsSqlPpp.Dbms.DBAccess Database.HsSqlPpp.Dbms.DatabaseLoader Database.HsSqlPpp.Extensions.ChaosExtensions Database.HsSqlPpp.AstInternals.AnnotationUtils Database.HsSqlPpp.AstInternals.AstAnnotation Database.HsSqlPpp.AstInternals.AstInternal Database.HsSqlPpp.AstInternals.Environment.DefaultTemplate1Environment Database.HsSqlPpp.AstInternals.Environment.EnvironmentReader Database.HsSqlPpp.AstInternals.Environment.EnvironmentInternal Database.HsSqlPpp.AstInternals.Environment.LocalIdentifierBindings Database.HsSqlPpp.AstInternals.TypeType Database.HsSqlPpp.AstInternals.TypeChecking.TypeConversion Database.HsSqlPpp.AstInternals.TypeChecking.ErrorUtils Database.HsSqlPpp.Tests.ExtensionTests Database.HsSqlPpp.Tests.TypeCheckTests Database.HsSqlPpp.Tests.ParserTests Database.HsSqlPpp.Tests.DatabaseLoaderTests Database.HsSqlPpp.PrettyPrinter.AnnotateSource Database.HsSqlPpp.PrettyPrinter.PrettyPrinter Database.HsSqlPpp.HsText.Commands Database.HsSqlPpp.HsText.HsText Database.HsSqlPpp.Parsing.Lexer Database.HsSqlPpp.Parsing.Parser Database.HsSqlPpp.Parsing.ParseErrors Database.HsSqlPpp.Ast.TypeChecker Database.HsSqlPpp.Ast.Ast Database.HsSqlPpp.Ast.Environment Database.HsSqlPpp.Ast.Annotation Database.HsSqlPpp.Ast.SqlTypes extensions: DeriveDataTypeable,RankNTypes,ScopedTypeVariables