Sophie

Sophie

distrib > Mandriva > 2007.1 > i586 > by-pkgid > 09cecd41fd5510f1b4c6358078b3faaf > files > 237

haskell-HXT-7.1-2mdv2007.1.i586.rpm

<!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.XML.HXT.Validator.RE</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock.js" TYPE="text/javascript"
></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"
>hxt-7.1: </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.XML.HXT.Validator.RE</FONT
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
><P
>A module for regular expression matching based on derivatives of regular expressions.
</P
><P
>The code was taken from Joe English (<A HREF="http://www.flightlab.com/~joe/sgml/validate.html"
>http://www.flightlab.com/~joe/sgml/validate.html</A
>).
 Tested and extended by Martin Schmidt.
</P
><P
>Further references for the algorithm:
</P
><P
>Janusz A. Brzozowski.
</P
><P
>Derivatives of Regular Expressions. Journal of the ACM, Volume 11, Issue 4, 1964. 
</P
><P
>Mark Hopkins.
</P
><P
>Regular Expression Package. Posted to comp.compilers, 1994.
      Available per FTP at <A HREF="ftp://iecc.com/pub/file/regex.tar.gz"
>ftp://iecc.com/pub/file/regex.tar.gz</A
>.
</P
><P
>Version : $Id: RE.hs,v 1.1 2004<EM
>09</EM
>02 19:12:03 hxml Exp $
</P
></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"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ARE_ZERO"
>RE_ZERO</A
> String</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARE_UNIT"
>RE_UNIT</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARE_SYM"
>RE_SYM</A
> a</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARE_DOT"
>RE_DOT</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARE_REP"
>RE_REP</A
> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARE_PLUS"
>RE_PLUS</A
> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARE_OPT"
>RE_OPT</A
> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARE_SEQ"
>RE_SEQ</A
> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a) (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARE_ALT"
>RE_ALT</A
> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a) (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a)</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Are_unit"
>re_unit</A
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Are_zero"
>re_zero</A
> :: String -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Are_sym"
>re_sym</A
> :: a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Are_rep"
>re_rep</A
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Are_plus"
>re_plus</A
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Are_opt"
>re_opt</A
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Are_seq"
>re_seq</A
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Are_alt"
>re_alt</A
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Are_dot"
>re_dot</A
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcheckRE"
>checkRE</A
> :: Show a =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Amatches"
>matches</A
> :: (Eq a, Show a) =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; [a] -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Anullable"
>nullable</A
> :: Show a =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; Bool</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AprintRE"
>printRE</A
> :: Show a =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; String</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"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3ARE"
></A
><B
>RE</B
> a</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Data type for regular expressions.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v%3ARE_ZERO"
></A
><B
>RE_ZERO</B
> String</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ARE_UNIT"
></A
><B
>RE_UNIT</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ARE_SYM"
></A
><B
>RE_SYM</B
> a</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ARE_DOT"
></A
><B
>RE_DOT</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ARE_REP"
></A
><B
>RE_REP</B
> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ARE_PLUS"
></A
><B
>RE_PLUS</B
> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ARE_OPT"
></A
><B
>RE_OPT</B
> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ARE_SEQ"
></A
><B
>RE_SEQ</B
> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a) (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ARE_ALT"
></A
><B
>RE_ALT</B
> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a) (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RE')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:RE" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Eq a =&gt; Eq (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
>Show a =&gt; Show (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Are_unit"
></A
><B
>re_unit</B
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Constructs a regular expression for an empty sequence.
</P
><UL
><LI
> returns : regular expression for an empty sequence
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Are_zero"
></A
><B
>re_zero</B
> :: String -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Constructs a regular expression for an empty set.
</P
><UL
><LI
> 1.parameter errMsg :  error message
</LI
><LI
> returns : regular expression for an empty set
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Are_sym"
></A
><B
>re_sym</B
> :: a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Constructs a regular expression for accepting a symbol
</P
><UL
><LI
> 1.parameter sym :  the symbol to be accepted
</LI
><LI
> returns : regular expression for accepting a symbol
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Are_rep"
></A
><B
>re_rep</B
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Constructs an optional repetition (*) of a regular expression
</P
><UL
><LI
> 1.parameter re_a :  regular expression to be repeted
</LI
><LI
> returns : new regular expression
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Are_plus"
></A
><B
>re_plus</B
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Constructs a repetition (+) of a regular expression
</P
><UL
><LI
> 1.parameter re_a :  regular expression to be repeted
</LI
><LI
> returns : new regular expression
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Are_opt"
></A
><B
>re_opt</B
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Constructs an option (?) of a regular expression
</P
><UL
><LI
> 1.parameter re_a :  regular expression to be optional
</LI
><LI
> returns : new regular expression
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Are_seq"
></A
><B
>re_seq</B
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Constructs a sequence (,) of two regular expressions
</P
><UL
><LI
> 1.parameter re_a :  first regular expression in sequence
</LI
><LI
> 2.parameter re_b :  second regular expression in sequence
</LI
><LI
> returns : new regular expression
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Are_alt"
></A
><B
>re_alt</B
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Constructs an alternative (|) of two regular expressions
</P
><UL
><LI
> 1.parameter re_a :  first regular expression of alternative
</LI
><LI
> 2.parameter re_b :  second regular expression of alternative
</LI
><LI
> returns : new regular expression
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Are_dot"
></A
><B
>re_dot</B
> :: <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Constructs a regular expression for accepting any singel symbol
</P
><UL
><LI
> returns : regular expression for accepting any singel symbol
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AcheckRE"
></A
><B
>checkRE</B
> :: Show a =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; String</TD
></TR
><TR
><TD CLASS="doc"
><P
>Checks if an input matched a regular expression. The function should be
 called after matches.
</P
><P
>Was the sentence used in <TT
>matches</TT
> in the language of the regular expression?
 -&gt; matches e s == s `in` L(e)?
</P
><UL
><LI
> 1.parameter re :  the derived regular expression
</LI
><LI
> returns : empty String if input matched the regular expression, otherwise
               an error message is returned
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Amatches"
></A
><B
>matches</B
> :: (Eq a, Show a) =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; [a] -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Derives a regular expression with respect to a sentence.
</P
><UL
><LI
> 1.parameter re :  regular expression
</LI
><LI
> 2.parameter s :  sentence to which the regular expression is applied
</LI
><LI
> returns : the derived regular expression
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Anullable"
></A
><B
>nullable</B
> :: Show a =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; Bool</TD
></TR
><TR
><TD CLASS="doc"
><P
>Checks if a regular expression matches the empty sequence.
</P
><P
>nullable e == [] `in` L(e)
</P
><P
>This check indicates if a regular expression fits to a sentence or not.
</P
><UL
><LI
> 1.parameter re :  regular expression to be checked
</LI
><LI
> returns : true if regular expression matches the empty sequence,
                otherwise false
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AprintRE"
></A
><B
>printRE</B
> :: Show a =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
>RE</A
> a -&gt; String</TD
></TR
><TR
><TD CLASS="doc"
><P
>Constructs a string representation of a regular expression.
</P
><UL
><LI
> 1.parameter re :  a regular expression
</LI
><LI
> returns : the string representation of the regular expression
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 0.8</TD
></TR
></TABLE
></BODY
></HTML
>