ghc-8.2.2: The GHC API

Safe Haskell | None
Language | Haskell2010

Parser

Description

This module provides the generated Happy parser for Haskell. It exports a number of parsers which may be used in any library that uses the GHC API. A common usage pattern is to initialize the parser state with a given string and then parse that string:

        runParser :: DynFlags -> String -> P a -> ParseResult a
        runParser flags str parser = unP parser parseState
        where
          filename = "<interactive>"
          location = mkRealSrcLoc (mkFastString filename) 1 1
          buffer = stringToStringBuffer str
          parseState = mkPState flags buffer location

# Documentation

parseModule :: P (Located (HsModule RdrName)) #

parseSignature :: P (Located (HsModule RdrName)) #

parseImport :: P (LImportDecl RdrName) #

parseStatement :: P (LStmt RdrName (LHsExpr RdrName)) #

parseBackpack :: P [LHsUnit PackageName] #

parseDeclaration :: P (LHsDecl RdrName) #

parseExpression :: P (LHsExpr RdrName) #

parsePattern :: P (LPat RdrName) #

parseTypeSignature :: P (LHsDecl RdrName) #

parseStmt :: P (Maybe (LStmt RdrName (LHsExpr RdrName))) #

parseIdentifier :: P (Located RdrName) #

parseType :: P (LHsType RdrName) #

parseHeader :: P (Located (HsModule RdrName)) #