Parser

ghc-8.10.5: 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 GhcPs)) #

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

parseImport :: P (LImportDecl GhcPs) #

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

parseBackpack :: P [LHsUnit PackageName] #

parseDeclaration :: P (LHsDecl GhcPs) #

parseExpression :: P ECP #

parsePattern :: P (Located (Pat (GhcPass 'Parsed))) #

parseTypeSignature :: P (LHsDecl GhcPs) #

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

parseIdentifier :: P (Located RdrName) #

parseType :: P (LHsType GhcPs) #

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