Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bd5c3d824c3db63ffd9226c15941e6ad > files > 130

mozart-1.4.0-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>7.1 Characters</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node9.html">- Up -</A></TD><TD><A href="string.html#section.text.strings">Next &gt;&gt;</A></TD></TR></TABLE><DIV id="section.text.characters"><H2><A name="section.text.characters">7.1 Characters</A></H2><P> The module <A name="label380"></A><SPAN class="index"><CODE>Char</CODE></SPAN> contains procedures operating on characters. Characters are integers between <CODE>0</CODE> and&nbsp;<CODE>255</CODE>, used for building strings. For the encoding of characters by integers, we use the ISO&nbsp;8859-1 standard&nbsp;<A href="bib.html#iso_8859_1">[ISO87]</A>. The functionality provided by this module is similar to the <CODE>ctype.h</CODE> module of ANSI&nbsp;C, see for instance&nbsp;<A href="bib.html#kernighan88">[KR88]</A>. </P><P> The procedures described herein can be used to compute with strings by using the generic procedures of the list module (see <A href="list.html#section.records.lists">Section&nbsp;6.3</A>). For example, </P><BLOCKQUOTE class="code"><CODE>{Filter&nbsp;<SPAN class="string">&quot;r&nbsp;E!m&nbsp;O\nv7E&quot;</SPAN>&nbsp;Char<SPAN class="keyword">.</SPAN>isAlpha}</CODE></BLOCKQUOTE><P> keeps only the letters of the given string and returns the string <CODE><SPAN class="string">&quot;rEmOvE&quot;</SPAN></CODE>. </P><DL><DT><A name="label381"></A><SPAN class="index"><CODE>IsChar</CODE></SPAN> <A name="label383"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>is&nbsp;</CODE><CODE>+<I>X</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>X</I></CODE> is a character, i.&nbsp;e., an integer between <CODE>0</CODE> and&nbsp;<CODE>255</CODE> inclusively. </P></DD><DT><CODE>isLower</CODE> <A name="label385"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>isLower&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>Char</I></CODE> encodes a lower-case letter. </P></DD><DT><CODE>isUpper</CODE> <A name="label387"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>isUpper&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>Char</I></CODE> encodes an upper-case letter. </P></DD><DT><CODE>isDigit</CODE> <A name="label389"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>isDigit&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>Char</I></CODE> encodes a digit. </P></DD><DT><CODE>isSpace</CODE> <A name="label391"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>isSpace&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>Char</I></CODE> encodes a white space character, i.&nbsp;e., either a space, a form feed (<CODE><SPAN class="string">&amp;\f</SPAN></CODE>), a newline (<CODE><SPAN class="string">&amp;\n</SPAN></CODE>), a carriage return (<CODE><SPAN class="string">&amp;\r</SPAN></CODE>), a tab (<CODE><SPAN class="string">&amp;\t</SPAN></CODE>), a vertical tab (<CODE><SPAN class="string">&amp;\v</SPAN></CODE>) or a non-breaking space (<CODE><SPAN class="string">&amp;\240</SPAN></CODE>). </P></DD><DT><CODE>isPunct</CODE> <A name="label393"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>isPunct&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>Char</I></CODE> encodes a punctuation character, i.&nbsp;e., a visible character, which is not a space, a digit, or a letter. </P></DD><DT><CODE>isCntrl</CODE> <A name="label395"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>isCntrl&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>Char</I></CODE> encodes a control character. </P></DD><DT><CODE>isAlpha</CODE> <A name="label397"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>isAlpha&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>Char</I></CODE> encodes a letter. </P></DD><DT><CODE>isAlNum</CODE> <A name="label399"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>isAlNum&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>Char</I></CODE> encodes a letter or a digit. </P></DD><DT><CODE>isGraph</CODE> <A name="label401"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>isGraph&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>Char</I></CODE> encodes a visible character. </P></DD><DT><CODE>isPrint</CODE> <A name="label403"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>isPrint&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>Char</I></CODE> is a visible character or either the space or non-breaking space character. </P></DD><DT><CODE>isXDigit</CODE> <A name="label405"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>isXDigit&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>Char</I></CODE> is a hexadecimal digit. </P></DD><DT><CODE>type</CODE> <A name="label407"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>type&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>A</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>maps <CODE><I>Char</I></CODE> to its simple type&nbsp;<CODE><I>A</I></CODE>, i.&nbsp;e., one of the atoms <CODE>lower</CODE>, <CODE>upper</CODE>, <CODE>digit</CODE>, <CODE>space</CODE>, <CODE>punct</CODE>, or <CODE>other</CODE>. </P></DD><DT><CODE>toLower</CODE> <A name="label409"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>toLower&nbsp;</CODE><CODE>+<I>Char1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>Char2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the corresponding lower-case letter if <CODE><I>Char1</I></CODE> is an upper-case letter, otherwise <CODE><I>Char1</I></CODE> itself. </P></DD><DT><CODE>toUpper</CODE> <A name="label411"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>toUpper&nbsp;</CODE><CODE>+<I>Char1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>Char2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the corresponding upper-case letter if <CODE><I>Char1</I></CODE> is a lower-case letter, otherwise <CODE><I>Char1</I></CODE> itself. </P></DD><DT><CODE>toAtom</CODE> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Char<SPAN class="keyword">.</SPAN>toAtom&nbsp;</CODE><CODE>+<I>Char</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>A</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>maps <CODE><I>Char</I></CODE> to the corresponding atom&nbsp;<CODE><I>A</I></CODE>. If <CODE><I>Char</I></CODE> is zero, <CODE><I>A</I></CODE>&nbsp;will be the empty atom&nbsp;<CODE><SPAN class="string">''</SPAN></CODE>. </P></DD></DL><P> </P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node9.html">- Up -</A></TD><TD><A href="string.html#section.text.strings">Next &gt;&gt;</A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~duchier/">Denys&nbsp;Duchier</A>, <A href="http://www.ps.uni-sb.de/~kornstae/">Leif&nbsp;Kornstaedt</A> and&nbsp;<A href="http://www.ps.uni-sb.de/~schulte/">Christian&nbsp;Schulte</A><BR><SPAN class="version">Version 1.4.0 (20090610)</SPAN></ADDRESS></BODY></HTML>