Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > by-pkgid > 2fc07611b08d4a735fd34d5eb60d8e16 > files > 2217

ciao-1.10p8-3mdv2010.0.i586.rpm

<HTML>
<HEAD>
<!-- Created by texi2html 1.56k + clip patches and <A href="http://www.clip.dia.fi.upm.es/Software">lpdoc</A> from ciao.texi on 28 January 2007 -->

<LINK rel="stylesheet" href="ciao.css" type="text/css">
<TITLE>The Ciao Prolog System               - The Iso Byte Char module</TITLE>
</HEAD>
<BODY> 
Go to the <A HREF="ciao_1.html">first</A>, <A HREF="ciao_40.html">previous</A>, <A HREF="ciao_42.html">next</A>, <A HREF="ciao_241.html">last</A> section, <A HREF="ciao_toc.html">table of contents</A>.
<P><HR><P>


<H1><A NAME="SEC213" HREF="ciao_toc.html#TOC213">The Iso Byte Char module</A></H1>
<P>
<A NAME="IDX2951"></A>


<P>
<STRONG>Author(s):</STRONG> The CLIP Group, Daniel Cabeza, Documentation written by Edison Mera, based on ISO Prolog standard. Minor mods by M. Hermenegildo..


<P>
<STRONG>Version:</STRONG> 1.10#7 (2006/4/26, 19:22:13 CEST)


<P>
<STRONG>Version of last change:</STRONG> 1.9#217 (2003/12/21, 15:33:54 CET)


<P>
This module provides some basic predicates according to the ISO specification of byte and char manipulation.



<UL>
<LI><A HREF="ciao_41.html#SEC214">Usage and interface (iso_byte_char)</A>
<LI><A HREF="ciao_41.html#SEC215">Documentation on exports (iso_byte_char)</A>
</UL>



<H2><A NAME="SEC214" HREF="ciao_toc.html#TOC214">Usage and interface (<CODE>iso_byte_char</CODE>)</A></H2>

<div class="cartouche">

<UL>

<LI><STRONG>Library usage:</STRONG>

<CODE>:- use_module(library(iso_byte_char)).</CODE>

<LI><STRONG>Exports:</STRONG>


<UL>

<LI><EM>Predicates:</EM>

<A NAME="IDX2952"></A>
<CODE>char_code/2</CODE>, 
<A NAME="IDX2953"></A>
<CODE>atom_chars/2</CODE>, 
<A NAME="IDX2954"></A>
<CODE>number_chars/2</CODE>, 
<A NAME="IDX2955"></A>
<CODE>get_byte/1</CODE>, 
<A NAME="IDX2956"></A>
<CODE>get_byte/2</CODE>, 
<A NAME="IDX2957"></A>
<CODE>peek_byte/1</CODE>, 
<A NAME="IDX2958"></A>
<CODE>peek_byte/2</CODE>, 
<A NAME="IDX2959"></A>
<CODE>put_byte/1</CODE>, 
<A NAME="IDX2960"></A>
<CODE>put_byte/2</CODE>, 
<A NAME="IDX2961"></A>
<CODE>get_char/1</CODE>, 
<A NAME="IDX2962"></A>
<CODE>get_char/2</CODE>, 
<A NAME="IDX2963"></A>
<CODE>peek_char/1</CODE>, 
<A NAME="IDX2964"></A>
<CODE>peek_char/2</CODE>, 
<A NAME="IDX2965"></A>
<CODE>put_char/1</CODE>, 
<A NAME="IDX2966"></A>
<CODE>put_char/2</CODE>.

</UL>

</UL>

</div class="cartouche">



<H2><A NAME="SEC215" HREF="ciao_toc.html#TOC215">Documentation on exports (<CODE>iso_byte_char</CODE>)</A></H2>
<P>
<A NAME="IDX2967"></A>
<A NAME="IDX2968"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>char_code/2:</B>
<DD><A NAME="IDX2969"></A>


<P>
<CODE>char_code(Char, Code)</CODE>


<P>
Succeeds iff the character code of the one char atom <CODE>Char</CODE> is <CODE>Code</CODE>.


</DL>

<P>
<A NAME="IDX2970"></A>
<A NAME="IDX2971"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>atom_chars/2:</B>
<DD><A NAME="IDX2972"></A>


<P>
<CODE>atom_chars(Atom, Chars)</CODE>


<P>
Succeeds iff <CODE>Chars</CODE> is a list whose elements are the one-char atoms whose names are the successive characters of the name of atom <CODE>Atom</CODE>


</DL>

<P>
<A NAME="IDX2973"></A>
<A NAME="IDX2974"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>number_chars/2:</B>
<DD><A NAME="IDX2975"></A>


<P>
<CODE>number_chars(Number, Chars)</CODE>


<P>
Success iff <CODE>Chars</CODE> is a list whose elements are the one-char atoms corresponding to a character sequence of <CODE>Number</CODE> which could be output


</DL>

<P>
<A NAME="IDX2976"></A>
<A NAME="IDX2977"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>get_byte/1:</B>
<DD><A NAME="IDX2978"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>get_byte(?int)</CODE>
<KBD> * ISO * </KBD>

<UL>
<LI><EM>Description:</EM> Same as

<A NAME="IDX2979"></A>
<CODE>get_byte/2</CODE>, but use the current input. 
</UL>

</DL>

<P>
<A NAME="IDX2980"></A>
<A NAME="IDX2981"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>get_byte/2:</B>
<DD><A NAME="IDX2982"></A>


<P>
<CODE>get_byte(Stream, Byte)</CODE>


<P>
Is true iff <CODE>Byte</CODE> unifies with the next byte to be input from the target <CODE>Stream</CODE>.


</DL>

<P>
<A NAME="IDX2983"></A>
<A NAME="IDX2984"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>peek_byte/1:</B>
<DD><A NAME="IDX2985"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>peek_byte(?int)</CODE>
<KBD> * ISO * </KBD>

<UL>
<LI><EM>Description:</EM> Same as

<A NAME="IDX2986"></A>
<CODE>peek_byte/2</CODE>, but use the current input. 
</UL>

</DL>

<P>
<A NAME="IDX2987"></A>
<A NAME="IDX2988"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>peek_byte/2:</B>
<DD><A NAME="IDX2989"></A>


<P>
<CODE>peek_byte(Stream, Byte)</CODE>


<P>
Is true iff <CODE>Byte</CODE> unifies with the next byte to be input from the target <CODE>Stream</CODE>.


</DL>

<P>
<A NAME="IDX2990"></A>
<A NAME="IDX2991"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>put_byte/1:</B>
<DD><A NAME="IDX2992"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>put_byte(+int)</CODE>
<KBD> * ISO * </KBD>

<UL>
<LI><EM>Description:</EM> Same as

<A NAME="IDX2993"></A>
<CODE>put_byte/2</CODE>, but use the current input. 
</UL>

</DL>

<P>
<A NAME="IDX2994"></A>
<A NAME="IDX2995"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>put_byte/2:</B>
<DD><A NAME="IDX2996"></A>


<P>
<CODE>put_byte(Stream, Byte)</CODE>


<P>
Is true. Procedurally, 
<A NAME="IDX2997"></A>
<CODE>putbyte/2</CODE> is executed as follows: 


<P>
a) Outputs the byte <CODE>Byte</CODE> to the target stream. 


<P>
b) Changes the stream position of the target stream to take account of the byte which has been output. 


<P>
c) The goal succeeds.


</DL>

<P>
<A NAME="IDX2998"></A>
<A NAME="IDX2999"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>get_char/1:</B>
<DD><A NAME="IDX3000"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>get_char(?atm)</CODE>
<KBD> * ISO * </KBD>

<UL>
<LI><EM>Description:</EM> Same as

<A NAME="IDX3001"></A>
<CODE>get_char/2</CODE>, but use the current input. 
</UL>

</DL>

<P>
<A NAME="IDX3002"></A>
<A NAME="IDX3003"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>get_char/2:</B>
<DD><A NAME="IDX3004"></A>


<P>
<CODE>get_char(Stream, Char)</CODE>


<P>
Is true iif <CODE>Char</CODE> unifies with the next character to be input from the target <CODE>Stream</CODE>.


</DL>

<P>
<A NAME="IDX3005"></A>
<A NAME="IDX3006"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>peek_char/1:</B>
<DD><A NAME="IDX3007"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>peek_char(?atm)</CODE>
<KBD> * ISO * </KBD>

<UL>
<LI><EM>Description:</EM> Similar to

<A NAME="IDX3008"></A>
<CODE>peek_code/1</CODE>, but using char instead of code. 
</UL>

</DL>

<P>
<A NAME="IDX3009"></A>
<A NAME="IDX3010"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>peek_char/2:</B>
<DD><A NAME="IDX3011"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>peek_char(@stream, ?atm)</CODE>
<KBD> * ISO * </KBD>

<UL>
<LI><EM>Description:</EM> Similar to

<A NAME="IDX3012"></A>
<CODE>peek_code/2</CODE>, but using char instead of code. 
</UL>

</DL>

<P>
<A NAME="IDX3013"></A>
<A NAME="IDX3014"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>put_char/1:</B>
<DD><A NAME="IDX3015"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>put_char(+atm)</CODE>
<KBD> * ISO * </KBD>

<UL>
<LI><EM>Description:</EM> Similar to

<A NAME="IDX3016"></A>
<CODE>put_code/1</CODE>, but using char instead of code. 
</UL>

</DL>

<P>
<A NAME="IDX3017"></A>
<A NAME="IDX3018"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>put_char/2:</B>
<DD><A NAME="IDX3019"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>put_char(@stream, +atm)</CODE>
<KBD> * ISO * </KBD>

<UL>
<LI><EM>Description:</EM> Similar to

<A NAME="IDX3020"></A>
<CODE>put_code/2</CODE>, but using char instead of code. 
</UL>

</DL>

<P><HR><P>
Go to the <A HREF="ciao_1.html">first</A>, <A HREF="ciao_40.html">previous</A>, <A HREF="ciao_42.html">next</A>, <A HREF="ciao_241.html">last</A> section, <A HREF="ciao_toc.html">table of contents</A>.
</BODY>
</HTML>