{-# OPTIONS #-} ----------------------------------------------------------------------------- -- | -- Module : Language.C.Parser -- Copyright : (c) 2008 Benedikt Huber -- License : BSD-style -- Maintainer : benedikt.huber@gmail.com -- Stability : experimental -- Portability : ghc -- -- Language.C parser ----------------------------------------------------------------------------- module Language.C.Parser ( -- * Simple API parseC, -- * Parser Monad P,execParser,execParser_,builtinTypeNames, -- * Exposed Parsers translUnitP, extDeclP, statementP, expressionP, -- * Parser Monad ParseError(..) ) where import Language.C.Parser.Parser (parseC,translUnitP, extDeclP, statementP, expressionP) import Language.C.Parser.ParserMonad (execParser, ParseError(..),P) import Language.C.Parser.Builtin (builtinTypeNames) import Language.C.Data -- | run the given parser using a new name supply and builtin typedefs -- see 'execParser' -- -- Synopsis: @runParser parser inputStream initialPos@ execParser_ :: P a -> InputStream -> Position -> Either ParseError a execParser_ parser input pos = fmap fst $ execParser parser input pos builtinTypeNames newNameSupply