| language-c-0.3.2: Analysis and generation of C code | Source code | Contents | Index

Language.C.Parser

Portability | ghc
Stability | experimental
Maintainer | benedikt.huber@gmail.com

Contents

Simple API
Parser Monad
Exposed Parsers
Parser Monad

Description
Language.C parser
Synopsis

parseC :: InputStream -> Position -> Either ParseError CTranslUnit
data P a
execParser :: P a -> InputStream -> Position -> [Ident] -> [Name] -> Either ParseError (a, [Name])
execParser_ :: P a -> InputStream -> Position -> Either ParseError a
builtinTypeNames :: [Ident]
translUnitP :: P CTranslUnit
extDeclP :: P CExtDecl
statementP :: P CStat
expressionP :: P CExpr
newtype ParseError = ParseError ([String], Position)

Simple API

parseC :: InputStream -> Position -> Either ParseError CTranslUnit | Source

`parseC input initialPos` parses the given preprocessed C-source input and returns the AST or a list of parse errors.
Parser Monad

data P a | Source

Instances

Monad P

execParser :: P a -> InputStream -> Position -> [Ident] -> [Name] -> Either ParseError (a, [Name]) | Source

execute the given parser on the supplied input stream. returns `ParseError` if the parser failed, and a pair of result and remaining name supply otherwise Synopsis: `execParser parser inputStream initialPos predefinedTypedefs uniqNameSupply`

execParser_ :: P a -> InputStream -> Position -> Either ParseError a | Source

run the given parser using a new name supply and builtin typedefs see `execParser` Synopsis: `runParser parser inputStream initialPos`

builtinTypeNames :: [Ident] | Source

Exposed Parsers

translUnitP :: P CTranslUnit | Source

`translUnitP` provides a parser for a complete C translation unit, i.e. a list of external declarations.

extDeclP :: P CExtDecl | Source

`extDeclP` provides a parser for an external (file-scope) declaration

statementP :: P CStat | Source

`statementP` provides a parser for C statements

expressionP :: P CExpr | Source

`expressionP` provides a parser for C expressions
Parser Monad

newtype ParseError | Source

Constructors

ParseError ([String], Position) |

Instances

Show ParseError

Produced by Haddock version 2.4.2