File: [local] / OpenXM / src / asir-doc / int-parts / datatype / list.texi (download)
Revision 1.1, Mon Apr 23 05:45:36 2001 UTC (23 years, 5 months ago) by noro
Branch: MAIN
CVS Tags: R_1_3_1-2, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, KNOPPIX_2006, HEAD, DEB_REL_1_2_3-9
Risa/Asir manual on the internal specifications.
|
@comment $OpenXM: OpenXM/src/asir-doc/int-parts/datatype/list.texi,v 1.1 2001/04/23 05:45:36 noro Exp $
@section List
@example
typedef struct oNODE @{ list $B$rI=$9$?$a$N(B node
pointer body; node $B$NFbMF(B
struct oNODE *next; $B<!$X$N(B pointer
@} *NODE;
typedef struct oLIST @{ Risa list object
short id; $B<1JL;R(B (=O_LIST)
short pad;
struct oNODE *body; list $BK\BN(B
@} *LIST;
@end example
@noindent
list $B9=B$$O(B engine $BFbIt$K$*$$$FB?MQ$5$l$k(B. $BA0=R$N(B @code{DCP}, @code{VL}
$B$J$I$OMQES$,FC<l2=$5$l$?$b$N$G$"$k$,(B, $B0lHL$K$O(B @code{NODE} $B$,MQ$$$i$l(B
$B$k(B. @code{LIST} $B$O(B Risa object $B$H$7$F$N(B list $B$G$"$k(B. $B$3$N>l9g(B, list $BK\BN(B
$B$N3F(B node $B$N(B body $B$O(B Risa object $B$r;X$7$F$$$kI,MW$,$"$k(B.
@subsection $B%j%9%H$N@8@.(B
@example
#include "ca.h"
MKNODE(n,b,nn) (macro; NODE n,nn; pointer b)
body = b, next = nn $B$J$k(B NODE n $B$r@8@.$9$k(B.
MKLIST(a,b) (macro; NODE b; LIST a)
body=b $B$J$k(B LIST a $B$r@8@.$9$k(B.
NEXTNODE(r,c) (macro; NODE r,c)
r $B$r(B node $B$N@hF,$H$7(B, c $B$r(B node $B$NKvHx$H$9$k$H$-(B, $BKvHx$K6u$N(B node
$B$rDI2C$7(B, c $B$r$=$N6u(B node $B$r;X$9$h$&$K$9$k(B. r $B$,(B 0 $B$N$H$-(B,
$B6u(B node $B$,@8@.$5$l(B, r $B$*$h$S(B c $B$O$=$N(B node $B$r;X$9(B.
@end example
@code{MKNODE} $B$O(B node $B$N@hF,$K%G!<%?$rDI2C$7$F$$$/$H$-$K(B
$BMQ$$$k(B. $B5U$K(B, node $B$NKvHx$K%G!<%?$rDI2C$7$F$$$/$K$O(B @code{NEXTNODE} $B$r(B
$BMQ$$$k(B.
@example
NODE r, c;
for ( r = 0; ...; ... ) @{
NEXTNODE(r,c);
c->body = ...;
@}
if ( r ) c->next = 0;
@end example
$B$3$l$K$h$j(B, list $B$NKvHx$K%G!<%?$rDI2C$7$J$,$i(B list $B$r?-$P$9$3$H$,$G$-$k(B.