Package0.10.2Language
language-c
Analysis and generation of C code
- Version0.10.2
- CategoryLanguage
- LicenceBSD-3-Clause
- AuthorAUTHORS
- Maintainerlanguage.c@monoid.al
- Homepagevisq.github.io/language-c
- Pinned byhackage language-c 0.10.2
- Sourcehackage.haskell.org/package/language-c-0.10.2
Modules
- Language.CLibrary for analysing and generating C code. See http://www.sivity.net/projects/language.c
- Language.C.AnalysisAnalysis of the AST. Currently, we provide a monad for analysis and analyze declarations and types.
- Language.C.Analysis.AstAnalysisAnalyse the parse tree Traverses the AST, analyses declarations and invokes handlers.
- Language.C.Analysis.Builtins
- Language.C.Analysis.ConstEval
- Language.C.Analysis.DebugPretty printing the semantic analysis representation.
- Language.C.Analysis.DeclAnalysisThis module performs the analysis of declarations and the translation of
- Language.C.Analysis.DefTableThis module manages symbols in local and global scopes. There are four different kind of identifiers: ordinary identifiers (henceforth
- Language.C.Analysis.ExportWARNING : This is just an implementation sketch and not very well tested. Export SemRep entities to AST nodes.
- Language.C.Analysis.MachineDescs
- Language.C.Analysis.NameSpaceMapThis module manages name spaces. A name space map associates identifiers with their definition. Each name space map is organized in a hi…
- Language.C.Analysis.SemErrorErrors in the semantic analysis
- Language.C.Analysis.SemRepThis module contains definitions for representing C translation units.
- Language.C.Analysis.TravMonadMonad for Traversals of the C AST. For the traversal, we maintain a symboltable and need MonadError and unique
- Language.C.Analysis.TypeCheck
- Language.C.Analysis.TypeConversions
- Language.C.Analysis.TypeUtils
- Language.C.DataCommon data types for Language.C: Identifiers, unique names, source code locations,
- Language.C.Data.ErrorBase type for errors occurring in parsing, analysing and pretty-printing.
- Language.C.Data.IdentThis module provides the notion of identifiers in C, speed up using hashing.
- Language.C.Data.InputStreamCompile time input abstraction for the parser, relying on ByteString.
- Language.C.Data.NameUnique Names with fast equality (newtype Int)
- Language.C.Data.Nodesource position and unqiue name
- Language.C.Data.PositionSource code position
- Language.C.ParserLanguage.C parser
- Language.C.PrettyThis module provides a pretty printer for the parse tree
- Language.C.SyntaxSyntax of C files: The abstract syntax tree and constants.
- Language.C.Syntax.ASTAbstract syntax of C source and header files. The tree structure is based on the grammar in Appendix A of K&R. The
- Language.C.Syntax.ConstantsThis module provides support for representing, checking and exporting c
- Language.C.Syntax.OpsUnary, binary and asssignment operators. Exported via AST.
- Language.C.Syntax.Utils
- Language.C.System.GCCInvoking gcc for preprocessing and compiling.
- Language.C.System.PreprocessInvoking external preprocessors.
Description
Language C is a Haskell library for the analysis and generation of C code. It features a complete, well tested parser and pretty printer for all of C99 and a large set of C11 and clang/GNU extensions.
Depends on
10 packages- array-0.5.8.0with GHC
- base-4.23.0.0with GHC
- bytestring-0.12.2.0with GHC
- containers-0.8with GHC
- deepseq-1.5.2.0with GHC
- directory-1.3.11.0with GHC
- filepath-1.5.5.0with GHC
- mtl-2.3.2with GHC
- pretty-1.1.3.6with GHC
- process-1.6.30.0with GHC
Used by in this set · 0
Nothing in this set depends on it.