language-objc-0.4.2.0: src/Language/ObjC/Parser.hs
{-# OPTIONS #-}
-----------------------------------------------------------------------------
-- |
-- Module : Language.ObjC.Parser
-- Copyright : (c) 2008 Benedikt Huber
-- (c) 2012 John W. Lato
-- License : BSD-style
-- Maintainer : jwlato@gmail.com
-- Stability : experimental
-- Portability : ghc
--
-- Language.ObjC parser
-----------------------------------------------------------------------------
module Language.ObjC.Parser (
-- * Simple API
parseC, parseLazyC,
-- * Parser Monad
P,execParser,execLazyParser, execParser_,builtinTypeNames,
-- * Exposed Parsers
translUnitP, extDeclP, statementP, expressionP,
-- * Parser Monad
ParseError(..)
)
where
import Language.ObjC.Parser.Parser
import Language.ObjC.Parser.ParserMonad (execParser, execLazyParser, ParseError(..),P)
import Language.ObjC.Parser.Builtin (builtinTypeNames)
import Language.ObjC.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