<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >Text.ParserCombinators.Parsec.Prim</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_Text-ParserCombinators-Parsec-Prim.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >parsec-2.1.0.1: Monadic parser combinators</TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >Text.ParserCombinators.Parsec.Prim</FONT ></TD ><TD ALIGN="right" ><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="infohead" >Portability</TD ><TD CLASS="infoval" >portable</TD ></TR ><TR ><TD CLASS="infohead" >Stability</TD ><TD CLASS="infoval" >provisional</TD ></TR ><TR ><TD CLASS="infohead" >Maintainer</TD ><TD CLASS="infoval" >daan@cs.uu.nl</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >The primitive parser combinators. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3A%3C%3F%3E" >(<?>)</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3A%3C%7C%3E" >(<|>)</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AParser" >Parser</A > a = <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AChar" >Char</A > <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ArunParser" >runParser</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> st -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourceName" >SourceName</A > -> [tok] -> <A HREF="../base/Data-Either.html#t%3AEither" >Either</A > <A HREF="Text-ParserCombinators-Parsec-Error.html#t%3AParseError" >ParseError</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aparse" >parse</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A > a -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourceName" >SourceName</A > -> [tok] -> <A HREF="../base/Data-Either.html#t%3AEither" >Either</A > <A HREF="Text-ParserCombinators-Parsec-Error.html#t%3AParseError" >ParseError</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseFromFile" >parseFromFile</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AParser" >Parser</A > a -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourceName" >SourceName</A > -> <A HREF="../base/System-IO.html#t%3AIO" >IO</A > (<A HREF="../base/Data-Either.html#t%3AEither" >Either</A > <A HREF="Text-ParserCombinators-Parsec-Error.html#t%3AParseError" >ParseError</A > a)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseTest" >parseTest</A > :: <A HREF="../base/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A > a -> [tok] -> <A HREF="../base/System-IO.html#t%3AIO" >IO</A > <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Atoken" >token</A > :: (tok -> <A HREF="../base/Data-Char.html#t%3AString" >String</A >) -> (tok -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A >) -> (tok -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > a) -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Atokens" >tokens</A > :: <A HREF="../base/Data-Eq.html#t%3AEq" >Eq</A > tok => ([tok] -> <A HREF="../base/Data-Char.html#t%3AString" >String</A >) -> (<A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A > -> [tok] -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A >) -> [tok] -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st [tok]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtokenPrim" >tokenPrim</A > :: (tok -> <A HREF="../base/Data-Char.html#t%3AString" >String</A >) -> (<A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A > -> tok -> [tok] -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A >) -> (tok -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > a) -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtokenPrimEx" >tokenPrimEx</A > :: (tok -> <A HREF="../base/Data-Char.html#t%3AString" >String</A >) -> (<A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A > -> tok -> [tok] -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A >) -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > (<A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A > -> tok -> [tok] -> st -> st) -> (tok -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > a) -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Atry" >try</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Alabel" >label</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Alabels" >labels</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> [<A HREF="../base/Data-Char.html#t%3AString" >String</A >] -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aunexpected" >unexpected</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Apzero" >pzero</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amany" >many</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AskipMany" >skipMany</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetState" >getState</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st st</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsetState" >setState</A > :: st -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AupdateState" >updateState</A > :: (st -> st) -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetPosition" >getPosition</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsetPosition" >setPosition</A > :: <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A > -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetInput" >getInput</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st [tok]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsetInput" >setInput</A > :: [tok] -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AState" >State</A > tok st = <A HREF="#v%3AState" >State</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AstateInput" >stateInput</A > :: [tok]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AstatePos" >statePos</A > :: !<A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AstateUser" >stateUser</A > :: !st</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetParserState" >getParserState</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st (<A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AState" >State</A > tok st)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsetParserState" >setParserState</A > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AState" >State</A > tok st -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st (<A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AState" >State</A > tok st)</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:<?>" ><A NAME="v%3A%3C%3F%3E" ></A ></A ><B >(<?>)</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:<|>" ><A NAME="v%3A%3C%7C%3E" ></A ></A ><B >(<|>)</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:Parser" ><A NAME="t%3AParser" ></A ></A ><B >Parser</B > a = <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AChar" >Char</A > <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:GenParser" ><A NAME="t%3AGenParser" ></A ></A ><B >GenParser</B > tok st a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GenParser')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:GenParser" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base/Control-Monad.html#t%3AMonad" >Monad</A > (<A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base/Control-Monad.html#t%3AFunctor" >Functor</A > (<A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base/Control-Monad.html#t%3AMonadPlus" >MonadPlus</A > (<A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:runParser" ><A NAME="v%3ArunParser" ></A ></A ><B >runParser</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> st -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourceName" >SourceName</A > -> [tok] -> <A HREF="../base/Data-Either.html#t%3AEither" >Either</A > <A HREF="Text-ParserCombinators-Parsec-Error.html#t%3AParseError" >ParseError</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parse" ><A NAME="v%3Aparse" ></A ></A ><B >parse</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A > a -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourceName" >SourceName</A > -> [tok] -> <A HREF="../base/Data-Either.html#t%3AEither" >Either</A > <A HREF="Text-ParserCombinators-Parsec-Error.html#t%3AParseError" >ParseError</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseFromFile" ><A NAME="v%3AparseFromFile" ></A ></A ><B >parseFromFile</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AParser" >Parser</A > a -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourceName" >SourceName</A > -> <A HREF="../base/System-IO.html#t%3AIO" >IO</A > (<A HREF="../base/Data-Either.html#t%3AEither" >Either</A > <A HREF="Text-ParserCombinators-Parsec-Error.html#t%3AParseError" >ParseError</A > a)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseTest" ><A NAME="v%3AparseTest" ></A ></A ><B >parseTest</B > :: <A HREF="../base/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A > a -> [tok] -> <A HREF="../base/System-IO.html#t%3AIO" >IO</A > <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:token" ><A NAME="v%3Atoken" ></A ></A ><B >token</B > :: (tok -> <A HREF="../base/Data-Char.html#t%3AString" >String</A >) -> (tok -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A >) -> (tok -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > a) -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tokens" ><A NAME="v%3Atokens" ></A ></A ><B >tokens</B > :: <A HREF="../base/Data-Eq.html#t%3AEq" >Eq</A > tok => ([tok] -> <A HREF="../base/Data-Char.html#t%3AString" >String</A >) -> (<A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A > -> [tok] -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A >) -> [tok] -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st [tok]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tokenPrim" ><A NAME="v%3AtokenPrim" ></A ></A ><B >tokenPrim</B > :: (tok -> <A HREF="../base/Data-Char.html#t%3AString" >String</A >) -> (<A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A > -> tok -> [tok] -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A >) -> (tok -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > a) -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tokenPrimEx" ><A NAME="v%3AtokenPrimEx" ></A ></A ><B >tokenPrimEx</B > :: (tok -> <A HREF="../base/Data-Char.html#t%3AString" >String</A >) -> (<A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A > -> tok -> [tok] -> <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A >) -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > (<A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A > -> tok -> [tok] -> st -> st) -> (tok -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > a) -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="doc" >The most primitive token recogniser. The expression <TT >tokenPrimEx show nextpos mbnextstate test</TT >, recognises tokens when <TT >test</TT > returns <TT >Just x</TT > (and returns the value <TT >x</TT >). Tokens are shown in error messages using <TT >show</TT >. The position is calculated using <TT >nextpos</TT >, and finally, <TT >mbnextstate</TT >, can hold a function that updates the user state on every token recognised (nice to count tokens :-). The function is packed into a <TT ><A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A ></TT > type for performance reasons. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:try" ><A NAME="v%3Atry" ></A ></A ><B >try</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:label" ><A NAME="v%3Alabel" ></A ></A ><B >label</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:labels" ><A NAME="v%3Alabels" ></A ></A ><B >labels</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> [<A HREF="../base/Data-Char.html#t%3AString" >String</A >] -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:unexpected" ><A NAME="v%3Aunexpected" ></A ></A ><B >unexpected</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:pzero" ><A NAME="v%3Apzero" ></A ></A ><B >pzero</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:many" ><A NAME="v%3Amany" ></A ></A ><B >many</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st [a]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:skipMany" ><A NAME="v%3AskipMany" ></A ></A ><B >skipMany</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st a -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getState" ><A NAME="v%3AgetState" ></A ></A ><B >getState</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st st</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:setState" ><A NAME="v%3AsetState" ></A ></A ><B >setState</B > :: st -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:updateState" ><A NAME="v%3AupdateState" ></A ></A ><B >updateState</B > :: (st -> st) -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getPosition" ><A NAME="v%3AgetPosition" ></A ></A ><B >getPosition</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:setPosition" ><A NAME="v%3AsetPosition" ></A ></A ><B >setPosition</B > :: <A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A > -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getInput" ><A NAME="v%3AgetInput" ></A ></A ><B >getInput</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st [tok]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:setInput" ><A NAME="v%3AsetInput" ></A ></A ><B >setInput</B > :: [tok] -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:State" ><A NAME="t%3AState" ></A ></A ><B >State</B > tok st </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:State" ><A NAME="v%3AState" ></A ></A ><B >State</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:stateInput" ><A NAME="v%3AstateInput" ></A ></A ><B >stateInput</B > :: [tok]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:statePos" ><A NAME="v%3AstatePos" ></A ></A ><B >statePos</B > :: !<A HREF="Text-ParserCombinators-Parsec-Pos.html#t%3ASourcePos" >SourcePos</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:stateUser" ><A NAME="v%3AstateUser" ></A ></A ><B >stateUser</B > :: !st</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getParserState" ><A NAME="v%3AgetParserState" ></A ></A ><B >getParserState</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st (<A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AState" >State</A > tok st)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:setParserState" ><A NAME="v%3AsetParserState" ></A ></A ><B >setParserState</B > :: <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AState" >State</A > tok st -> <A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AGenParser" >GenParser</A > tok st (<A HREF="Text-ParserCombinators-Parsec-Prim.html#t%3AState" >State</A > tok st)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.4.2</TD ></TR ></TABLE ></BODY ></HTML >