Package0.9.3Language
language-c
Analysis and generation of C code
- Version0.9.3
- CategoryLanguage
- LicenceBSD-3-Clause
- AuthorAUTHORS
- Maintainerlanguage.c@monoid.al
- Homepagevisq.github.io/language-c
- Pinned byhackage language-c 0.9.3
- Sourcehackage.haskell.org/package/language-c-0.9.3
Modules
33 modules- Language.C2Library for analysing and generating C code. See http://www.sivity.net/projects/language.c
- Language.C.Analysis0Analysis of the AST. Currently, we provide a monad for analysis and analyze declarations and types.
- Language.C.Analysis.AstAnalysis12Analyse the parse tree Traverses the AST, analyses declarations and invokes handlers.
- Language.C.Analysis.Builtins1
- Language.C.Analysis.ConstEval12
- Language.C.Analysis.Debug3Pretty printing the semantic analysis representation.
- Language.C.Analysis.DeclAnalysis25This module performs the analysis of declarations and the translation of
- Language.C.Analysis.DefTable31This module manages symbols in local and global scopes. There are four different kind of identifiers: ordinary identifiers (henceforth
- Language.C.Analysis.Export12WARNING : This is just an implementation sketch and not very well tested. Export SemRep entities to AST nodes.
- Language.C.Analysis.MachineDescs2
- Language.C.Analysis.NameSpaceMap14This 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.SemError10Errors in the semantic analysis
- Language.C.Analysis.SemRep69This module contains definitions for representing C translation units.
- Language.C.Analysis.TravMonad47Monad for Traversals of the C AST. For the traversal, we maintain a symboltable and need MonadError and unique
- Language.C.Analysis.TypeCheck34
- Language.C.Analysis.TypeConversions3
- Language.C.Analysis.TypeUtils32
- Language.C.Data34Common data types for Language.C: Identifiers, unique names, source code locations,
- Language.C.Data.Error17Base type for errors occurring in parsing, analysing and pretty-printing.
- Language.C.Data.Ident11This module provides the notion of identifiers in C, speed up using hashing.
- Language.C.Data.InputStream9Compile time input abstraction for the parser, relying on ByteString.
- Language.C.Data.Name3Unique Names with fast equality (newtype Int)
- Language.C.Data.Node15source position and unqiue name
- Language.C.Data.Position20Source code position
- Language.C.Parser10Language.C parser
- Language.C.Pretty2This module provides a pretty printer for the parse tree
- Language.C.Syntax0Syntax of C files: The abstract syntax tree and constants.
- Language.C.Syntax.AST63Abstract 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.Constants33This module provides support for representing, checking and exporting c
- Language.C.Syntax.Ops9Unary, binary and asssignment operators. Exported via AST.
- Language.C.Syntax.Utils4
- Language.C.System.GCC2Invoking gcc for preprocessing and compiling.
- Language.C.System.Preprocess9Invoking 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.20.2.0with GHC
- bytestring-0.12.2.0with GHC
- containers-0.7with GHC
- deepseq-1.5.0.0with GHC
- directory-1.3.8.5with GHC
- filepath-1.5.4.0with GHC
- mtl-2.3.1with GHC
- pretty-1.1.3.6with GHC
- process-1.6.26.1with GHC
Used by in this set · 0
Nothing in this set depends on it.