Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 495e0c8cda11c024de479527706fb2f4 > files > 57

ghc-regex-pcre-devel-0.94.2-2.fc15.i686.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
<title>Text/Regex/PCRE.hs</title>
<link type='text/css' rel='stylesheet' href='hscolour.css' />
</head>
<body>
<pre><a name="line-1"></a><span class='hs-comment'>{-# OPTIONS_GHC -fno-warn-unused-imports #-}</span>
<a name="line-2"></a><span class='hs-comment'>{-|
<a name="line-3"></a>The "Text.Regex.PCRE" module provides a backend for regular
<a name="line-4"></a>expressions.  If you import this along with other backends, then
<a name="line-5"></a>you should do so with qualified imports, perhaps renamed for
<a name="line-6"></a>convenience.
<a name="line-7"></a>
<a name="line-8"></a>You will need to have libpcre, from www.pcre.org, to use
<a name="line-9"></a>this module.  The haskell must be compiled with -DHAVE_PCRE_H and
<a name="line-10"></a>linked with pcre.  This is the default in the cabal file.
<a name="line-11"></a>
<a name="line-12"></a>If you do not compile with HAVE_PCRE_H then the functions will still
<a name="line-13"></a>exist, but using them will create a run time error.  You can test for
<a name="line-14"></a>the existance of PCRE by checking 'getVersion' which is 'Nothing' if
<a name="line-15"></a>not compiled with PCRE or 'Just' 'String' if PCRE is present.
<a name="line-16"></a>
<a name="line-17"></a>Using the provided 'CompOption' and 'ExecOption' values and if
<a name="line-18"></a>'configUTF8' is True, then you might be able to send UTF8 encoded
<a name="line-19"></a>ByteStrings to PCRE and get sensible results.  This is currently
<a name="line-20"></a>untested.
<a name="line-21"></a>
<a name="line-22"></a>The regular expression can be provided as a 'ByteString', but it will
<a name="line-23"></a>be copied and a NUL byte appended to make a 'CString' unless such a
<a name="line-24"></a>byte is already present.  Thus the regular expression cannot contain
<a name="line-25"></a>an explicit NUL byte. The search string is passed as a 'CStringLen'
<a name="line-26"></a>and may contain NUL bytes and does not need to end in a NUL
<a name="line-27"></a>byte. 'ByteString's are searched in place (via unsafeUseAsCStringLen).
<a name="line-28"></a>
<a name="line-29"></a>A 'String' will be converted into a 'CString' or 'CStringLen' for
<a name="line-30"></a>processing.  Doing this repeatedly will be very inefficient.
<a name="line-31"></a>
<a name="line-32"></a>The "Text.Regex.PCRE.String", "Text.Regex.PCRE.ByteString", and
<a name="line-33"></a>"Text.Regex.PCRE.Wrap" modules provides both the high level interface
<a name="line-34"></a>exported by this module and medium- and low-level interfaces that
<a name="line-35"></a>returns error using Either structures.
<a name="line-36"></a>-}</span>
<a name="line-37"></a><span class='hs-comment'>{- Copyright   :  (c) Chris Kuklewicz 2007 -}</span>
<a name="line-38"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>Regex</span><span class='hs-varop'>.</span><span class='hs-conid'>PCRE</span><span class='hs-layout'>(</span><span class='hs-varid'>getVersion_Text_Regex_PCRE</span>
<a name="line-39"></a>  <span class='hs-layout'>,</span><span class='hs-keyword'>module</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>Regex</span><span class='hs-varop'>.</span><span class='hs-conid'>Base</span>
<a name="line-40"></a>  <span class='hs-comment'>-- ** Wrap, for '=~' and '=~~', types and constants</span>
<a name="line-41"></a>  <span class='hs-layout'>,</span><span class='hs-keyword'>module</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>Regex</span><span class='hs-varop'>.</span><span class='hs-conid'>PCRE</span><span class='hs-varop'>.</span><span class='hs-conid'>Wrap</span><span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-42"></a>
<a name="line-43"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>Regex</span><span class='hs-varop'>.</span><span class='hs-conid'>PCRE</span><span class='hs-varop'>.</span><span class='hs-conid'>Wrap</span><span class='hs-layout'>(</span><span class='hs-conid'>Regex</span><span class='hs-layout'>,</span> <span class='hs-conid'>CompOption</span><span class='hs-layout'>(</span><span class='hs-conid'>CompOption</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-conid'>ExecOption</span><span class='hs-layout'>(</span><span class='hs-conid'>ExecOption</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-varop'>=~</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-varop'>=~~</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-44"></a>  <span class='hs-varid'>unusedOffset</span><span class='hs-layout'>,</span> <span class='hs-varid'>getNumSubs</span><span class='hs-layout'>,</span> <span class='hs-varid'>configUTF8</span><span class='hs-layout'>,</span> <span class='hs-varid'>getVersion</span><span class='hs-layout'>,</span>
<a name="line-45"></a>  <span class='hs-varid'>compBlank</span><span class='hs-layout'>,</span> <span class='hs-varid'>compAnchored</span><span class='hs-layout'>,</span> <span class='hs-varid'>compAutoCallout</span><span class='hs-layout'>,</span> <span class='hs-varid'>compCaseless</span><span class='hs-layout'>,</span>
<a name="line-46"></a>  <span class='hs-varid'>compDollarEndOnly</span><span class='hs-layout'>,</span> <span class='hs-varid'>compDotAll</span><span class='hs-layout'>,</span> <span class='hs-varid'>compExtended</span><span class='hs-layout'>,</span> <span class='hs-varid'>compExtra</span><span class='hs-layout'>,</span>
<a name="line-47"></a>  <span class='hs-varid'>compFirstLine</span><span class='hs-layout'>,</span> <span class='hs-varid'>compMultiline</span><span class='hs-layout'>,</span> <span class='hs-varid'>compNoAutoCapture</span><span class='hs-layout'>,</span> <span class='hs-varid'>compUngreedy</span><span class='hs-layout'>,</span>
<a name="line-48"></a>  <span class='hs-varid'>compUTF8</span><span class='hs-layout'>,</span> <span class='hs-varid'>compNoUTF8Check</span><span class='hs-layout'>,</span>
<a name="line-49"></a>  <span class='hs-varid'>execBlank</span><span class='hs-layout'>,</span> <span class='hs-varid'>execAnchored</span><span class='hs-layout'>,</span> <span class='hs-varid'>execNotBOL</span><span class='hs-layout'>,</span> <span class='hs-varid'>execNotEOL</span><span class='hs-layout'>,</span> <span class='hs-varid'>execNotEmpty</span><span class='hs-layout'>,</span>
<a name="line-50"></a>  <span class='hs-varid'>execNoUTF8Check</span><span class='hs-layout'>,</span> <span class='hs-varid'>execPartial</span><span class='hs-layout'>)</span>
<a name="line-51"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>Regex</span><span class='hs-varop'>.</span><span class='hs-conid'>PCRE</span><span class='hs-varop'>.</span><span class='hs-conid'>String</span><span class='hs-conid'>()</span>
<a name="line-52"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>Regex</span><span class='hs-varop'>.</span><span class='hs-conid'>PCRE</span><span class='hs-varop'>.</span><span class='hs-conid'>Sequence</span><span class='hs-conid'>()</span>
<a name="line-53"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>Regex</span><span class='hs-varop'>.</span><span class='hs-conid'>PCRE</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span><span class='hs-conid'>()</span>
<a name="line-54"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>Regex</span><span class='hs-varop'>.</span><span class='hs-conid'>PCRE</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span><span class='hs-varop'>.</span><span class='hs-conid'>Lazy</span><span class='hs-conid'>()</span>
<a name="line-55"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Version</span><span class='hs-layout'>(</span><span class='hs-conid'>Version</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-56"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>Regex</span><span class='hs-varop'>.</span><span class='hs-conid'>Base</span>
<a name="line-57"></a>
<a name="line-58"></a><a name="getVersion_Text_Regex_PCRE"></a><span class='hs-definition'>getVersion_Text_Regex_PCRE</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Version</span>
<a name="line-59"></a><span class='hs-definition'>getVersion_Text_Regex_PCRE</span> <span class='hs-keyglyph'>=</span>
<a name="line-60"></a>  <span class='hs-conid'>Version</span> <span class='hs-layout'>{</span> <span class='hs-varid'>versionBranch</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyglyph'>[</span><span class='hs-num'>0</span><span class='hs-layout'>,</span><span class='hs-num'>94</span><span class='hs-layout'>,</span><span class='hs-num'>2</span><span class='hs-keyglyph'>]</span>  <span class='hs-comment'>-- Keep in sync with regex-pcre.cabal</span>
<a name="line-61"></a>          <span class='hs-layout'>,</span> <span class='hs-varid'>versionTags</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyglyph'>[</span><span class='hs-str'>"unstable"</span><span class='hs-keyglyph'>]</span>
<a name="line-62"></a>          <span class='hs-layout'>}</span>
</pre></body>
</html>