version 1.16, 2004/07/28 11:46:23 |
version 1.21, 2005/07/25 12:23:05 |
|
|
%% $OpenXM: OpenXM/src/asir-doc/exp/exp-ja.texi,v 1.15 2004/07/14 05:48:44 takayama Exp $ |
%% $OpenXM: OpenXM/src/asir-doc/exp/exp-ja.texi,v 1.20 2005/05/04 11:06:55 takayama Exp $ |
\input texinfo |
\input texinfo |
@iftex |
@iftex |
@catcode`@#=6 |
@catcode`@#=6 |
|
|
@title $B<B83E*;EMM$N4X?t(B |
@title $B<B83E*;EMM$N4X?t(B |
@subtitle Risa/Asir $B<B83E*;EMM4X?t@bL@=q(B |
@subtitle Risa/Asir $B<B83E*;EMM4X?t@bL@=q(B |
@subtitle 1.0 $BHG(B |
@subtitle 1.0 $BHG(B |
@subtitle 2004 $BG/(B 7 $B7n(B |
@subtitle 2005 $BG/(B 5 $B7n(B |
|
|
@author by Risa/Asir committers |
@author by Risa/Asir committers |
@page |
@page |
Line 124 ChangeLog $B$N9`L\$O(B www.openxm.org $B$N(B cvswe |
|
Line 124 ChangeLog $B$N9`L\$O(B www.openxm.org $B$N(B cvswe |
|
* sprintf:: |
* sprintf:: |
* quote_to_funargs:: |
* quote_to_funargs:: |
* funargs_to_quote:: |
* funargs_to_quote:: |
|
* get_function_name:: |
* remove_paren:: |
* remove_paren:: |
|
* set_secure_mode:: |
|
* set_secure_flag:: |
|
* double_quote:: |
@end menu |
@end menu |
|
|
@comment --- $B"~"~"~"~(B $B4X?t(B quotetotex, quotetotex_env $B$N@bL@(B $B"~"~"~"~(B |
@comment --- $B"~"~"~"~(B $B4X?t(B quotetotex, quotetotex_env $B$N@bL@(B $B"~"~"~"~(B |
|
|
@end itemize |
@end itemize |
|
|
|
|
@node quote_flatten,,, $B<B83E*;EMM$N4X?t(B |
@node flatten_quote,,, $B<B83E*;EMM$N4X?t(B |
@subsection @code{quote_flatten} |
@subsection @code{flatten_quote} |
@findex quote_flatten |
@findex flatten_quote |
|
|
@comment --- $B4X?t$N4JC1$J@bL@(B --- |
@comment --- $B4X?t$N4JC1$J@bL@(B --- |
@table @t |
@table @t |
@item quote_flatten(@var{q},@var{op}) |
@item flatten_quote(@var{q},@var{op}) |
:: quote $B$N3g8L$r$H$j$5$k(B. |
:: quote $B$N3g8L$r$H$j$5$k(B. |
@end table |
@end table |
|
|
Line 1108 Quote $B7?$N%G!<%?$OLZ9=B$$r$7$F$$$k(B |
|
Line 1112 Quote $B7?$N%G!<%?$OLZ9=B$$r$7$F$$$k(B |
|
$B$?$H$($P(B (1+2)+(3+4) $B$H$$$&I=8=$r(B 1+2+3+4 $B$KJQ49$9$k(B. |
$B$?$H$($P(B (1+2)+(3+4) $B$H$$$&I=8=$r(B 1+2+3+4 $B$KJQ49$9$k(B. |
@item |
@item |
$B8=:_$N<BAu$G$O(B n-ary $B$N1i;;;R$ODj5A$5$l$F$$$J$$$N$G(B, |
$B8=:_$N<BAu$G$O(B n-ary $B$N1i;;;R$ODj5A$5$l$F$$$J$$$N$G(B, |
1+2+3 $B$O<B$O(B (1+2)+3 $B$HI=8=$5$l$F$$$k(B. |
1+2+3 $B$O<B$O(B 1+(2+3) $B$HI=8=$5$l$F$$$k(B. |
$B$D$^$j(B + $B1i;;;R$O:87k9gE*$G$"$k(B. |
$B$D$^$j(B + $B1i;;;R$O1&7k9gE*$G$"$k(B. |
|
@item R=0; for (I=0; I<N; I++) R = R+ P[I]; $B$J$kB-$7;;$r7+$jJV$9$H(B, |
|
+ $B$O:87k9gE*$K$J$k(B. $B1&7k9gE*$KJQ49$9$k$K$O(B flatten_quote $B$r8F$V(B. |
|
@item $BL>A0$O(B quote_flatten $B$G$J$/(B flatten_quote $B$G$"$k(B. |
@end itemize |
@end itemize |
|
|
@example |
@example |
|
|
:: quote $B$r(B funarg $B7A<0(B($B%j%9%H(B) $B$X(B. |
:: quote $B$r(B funarg $B7A<0(B($B%j%9%H(B) $B$X(B. |
@item funargs_to_quote(@var{f}) |
@item funargs_to_quote(@var{f}) |
:: funarg $B7A<0$r(B quote $B$X(B. |
:: funarg $B7A<0$r(B quote $B$X(B. |
|
@item get_function_name(@var{f}) |
|
:: funarg $B7A<0$N(B op $B$rJ8;zNs$X(B. |
@item remove_paren(@var{q}) |
@item remove_paren(@var{q}) |
:: $B>e$N4X?t$rMQ$$$F=q$+$l$?M>J,$J3g8L$r<h$j5n$k(B simplifier (asir-contrib $B%^%K%e%"%k$X(B: todo) |
:: $B>e$N4X?t$rMQ$$$F=q$+$l$?M>J,$J3g8L$r<h$j5n$k(B simplifier (asir-contrib $B%^%K%e%"%k$X(B: todo) |
@end table |
@end table |
Line 1280 quote $B$X$NI|852DG=$J7A$G%j%9%H$XJQ49$9$k(B. |
|
Line 1289 quote $B$X$NI|852DG=$J7A$G%j%9%H$XJQ49$9$k(B. |
|
@code{quotetolist} $B$O(B quote $B$r%j%9%H$XJQ49$9$k$,(B, $B0lIt$N>pJs$r<N$F$k$?$a(B |
@code{quotetolist} $B$O(B quote $B$r%j%9%H$XJQ49$9$k$,(B, $B0lIt$N>pJs$r<N$F$k$?$a(B |
$B$b$H$N(B quote $B$NI|85$O$G$-$J$$(B. |
$B$b$H$N(B quote $B$NI|85$O$G$-$J$$(B. |
@item |
@item |
@code{quote_to_funargs} $B$NLa$jCM$O(B [fid, op, arg1, arg2] $B$J$k7A<0$r$7$F$$$k(B. |
@code{quote_to_funargs} $B$NLa$jCM$O(B [fid, op, arg1, arg2, ...] |
$B$3$3$G(B op $B$O$J$K$+Ff(B (Todo) |
$B$J$k7A<0$r$7$F$$$k(B. |
|
$B$3$3$G(B op $B$O(B node $B$NL>A0$G$"$j(B, |
|
$B4X?t(B @code{get_function_name} $B$rMQ$$$F?M4V$,FI$a$k7A<0(B |
|
$B$G<h$j$@$;$k(B. |
|
$B$?$H$($P(B @code{get_function_name(quote_to_funargs(quote(1+2))[1])} |
|
$B$O(B "+" $B$rLa$9(B. |
|
@item |
|
$BL>A0(B@code{get_function_name} $B$O$=$N$&$AJQ99$5$l$k$@$m$&(B. |
@item |
@item |
$B2<$NNc$G(B |
$B2<$NNc$G(B |
quote_to_funargs(FA[2]); |
quote_to_funargs(FA[2]); |
[34,[b_op,+,[internal,x],[internal,1]]] |
[34,[b_op,+,[internal,x],[internal,1]]] |
$B$H$J$k$,(B, $B$3$N(B 34 $B$bFf(B (Todo). |
$B$H$J$k(B. |
|
34 $B$O(B @code{I_PAREN} $B$r0UL#$9$k(B. |
|
$B?t$H0UL#$NBP1~I=$O(B @code{OpenXM/src/asir-contrib/packages/src/noro_simplify.rr} |
|
$B$^$?$O(B @code{OpenXM_contrib2/asir2000/parse/parse.h} $B$r8+$h(B. |
|
$B0J2<$N(B fid $B$,(B 0, 1, 2, ... $B$KBP1~$E$1$i$l$F$$$k(B. |
|
I_BOP, I_COP, I_AND, I_OR, I_NOT, I_CE, |
|
I_PRESELF, I_POSTSELF, |
|
I_FUNC, I_FUNC_OPT, I_IFUNC, I_MAP, I_RECMAP, I_PFDERIV, |
|
I_ANS, I_PVAR, I_ASSPVAR, |
|
I_FORMULA, I_LIST, I_STR, I_NEWCOMP, I_CAR, I_CDR, I_CAST, |
|
I_INDEX, I_EV, I_TIMER, I_GF2NGEN, I_GFPNGEN, I_GFSNGEN, |
|
I_LOP, I_OPT, I_GETOPT, I_POINT, I_PAREN, I_MINUS, |
|
I_NARYOP |
@end itemize |
@end itemize |
|
|
$B<!$NNc$G$O(B (x+1)+(x+2) $B$N3g8L$r$O$:$7$F(B x+1+x+2 $B$KJQ49$7$F$$$k(B. |
$B<!$NNc$G$O(B (x+1)+(x+2) $B$N3g8L$r$O$:$7$F(B x+1+x+2 $B$KJQ49$7$F$$$k(B. |
Line 1321 quote $B$X$NI|852DG=$J7A$G%j%9%H$XJQ49$9$k(B. |
|
Line 1349 quote $B$X$NI|852DG=$J7A$G%j%9%H$XJQ49$9$k(B. |
|
quote(f(1-x)) |
quote(f(1-x)) |
@end example |
@end example |
|
|
|
funargs_to_quote $B$rMQ$$$F4{B8$N(B quote $B$N;R6!$rCV$-49$($F(B |
|
$B?7$7$$(B quote $B$r$D$/$j=P$;$k(B. |
|
@example |
|
[1184] R=quote_to_funargs(quote(a+(b+c))); |
|
[0,<...quoted...>,<...quoted...>,<...quoted...>] |
|
[1185] T=quote_to_funargs(quote(1+2)); |
|
[0,<...quoted...>,<...quoted...>,<...quoted...>] |
|
[1186] funargs_to_quote([0,R[1],R[2],T[2]]); |
|
quote(a+1) |
|
@end example |
|
|
@table @t |
@table @t |
@item $B;2>H(B |
@item $B;2>H(B |
@ref{quotetolist} |
@ref{quotetolist} |
@end table |
@end table |
|
|
|
|
@noindent |
@noindent |
ChangeLog |
ChangeLog |
@itemize @bullet |
@itemize @bullet |
@item |
@item |
$B$3$N%^%K%e%"%k$O3P$(=q$-$G$"$k(B. $B3+H/<T$,K\3JE*$J$N$r=q$/$@$m$&(B. |
|
@item |
|
$B$3$l$i$N4X?t$O(B 2004-7-8 $B$+$i3+H/$N$O$8$^$C$F$$$k(B quote $B$N(B simplification $B4XO"(B |
$B$3$l$i$N4X?t$O(B 2004-7-8 $B$+$i3+H/$N$O$8$^$C$F$$$k(B quote $B$N(B simplification $B4XO"(B |
$B$N<B83E*4X?t$G$"$k(B. |
$B$N<B83E*4X?t$G$"$k(B. |
$BJQ99$r$&$1$?%=!<%9%3!<%I$OB?4t$K$o$?$k$N$G$^$@=q$+$J$$(B. |
$BJQ99$r$&$1$?%=!<%9%3!<%I$OB?4t$K$o$?$k$N$G$^$@=q$+$J$$(B. |
|
|
@item |
@item |
2004-6-26 $B$N7W;;Be?t%;%_%J!<$K$*$$$F(B, $BCf@n$5$s$,(B simplifier $B$K$D$$$F$$$m$$$mLdBjDs5/(B |
2004-6-26 $B$N7W;;Be?t%;%_%J!<$K$*$$$F(B, $BCf@n$5$s$,(B simplifier $B$K$D$$$F$$$m$$$mLdBjDs5/(B |
$B$r$7$?(B ($B7W;;Be?t%;%_%J!<%S%G%*;2>H(B). |
$B$r$7$?(B ($B7W;;Be?t%;%_%J!<%S%G%*;2>H(B). |
|
@item parse/quote.c $B$N(B {\tt strcut fid_spec fid_spec_tab[] } |
|
$B$NItJ,$K=q$$$F$"$k7A<0$K(B @code{funargs_to_quote} $B$OJQ49$9$k(B. |
@end itemize |
@end itemize |
|
|
@comment --- $B"~"~"~"~(B $B0J2<B>$N4X?t$K$D$$$F??;w$7$F5-=R$9$k(B. $B"~"~"~"~(B |
@node set_secure_flag,,, $B<B83E*;EMM$N4X?t(B |
|
@subsection @code{set_secure_flag}, @code{set_secure_mode} |
|
@findex set_secure_flag |
|
@findex set_secure_mode |
|
|
|
@comment --- $B4X?t$N4JC1$J@bL@(B --- |
|
@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- |
|
@table @t |
|
@item set_secure_flag(@var{fname},@var{m}) |
|
@itemx set_secure_mode(@var{m}) |
|
:: $B4X?t$N<B9T8"8B$r@_Dj$9$k(B. (web $B%5!<%S%9MQ(B) |
|
@end table |
|
|
|
@table @var |
|
@item return |
|
$B@0?t(B |
|
@item fname |
|
$BJ8;zNs(B |
|
@item m |
|
$B@0?t(B |
|
@end table |
|
|
|
@itemize @bullet |
|
@item @code{set_secure_flag}, @code{set_secure_mode} $B$O(B |
|
asir $B$r(B web $B%5!<%PEy$G8x3+$9$k$?$a$K2C$($i$l$?4X?t(B. |
|
@code{set_secure_flag} $B$G8x3+$9$k4X?t$r;XDj$9$k(B. |
|
@code{secure_mode} $B$,(B 1 $B$N>l9g$O(B @code{set_secure_flag} $B$G;XDj$5$l$?(B |
|
$B4X?t$7$+<B9T$G$-$J$$(B. |
|
$B4X?t$N<B9TESCf$G$O(B @code{secure_mode} $B$,(B 0 $B$H$J$C$F$$$k$N$G(B, |
|
$BG$0U$N4X?t$r<B9T$G$-$k(B. |
|
$B$^$?%(%i!<$N;~Ey$O(B, @code{secure_mode} $B$O(B 1 $B$K<+F0E*$KI|5"$9$k(B. |
|
$B$?$@$7(B @code{def} $B$O<B9T$G$-$J$$(B. |
|
$B8x3+$9$k4X?t$G$O(B, $B$=$N=hM}Cf$OG$0U$N4X?t$,<B9T$G$-$k$N$G(B, |
|
security $B$K==J,Cm0U$7$?<BAu$r$9$kI,MW$,$"$k(B. |
|
@item |
|
@code{set_secure_flag} $B$O(B, @var{fname} $B$N(B secure flag $B$r(B @var{m} |
|
$B$K$9$k(B. |
|
$B8x3+$9$kL?Na$O(B 1 $B$K@_Dj$9$k(B. |
|
@item |
|
@var{set_secure_mode(1)} $B$G(B @code{secure_mode} $B$,(B 1 $B$H$J$j(B, |
|
$B8x3+$5$l$?4X?t$7$+<B9T$G$-$J$/$J$k(B. |
|
quit $BEy$b<B9T$G$-$J$$$N$GCm0U(B. |
|
@item @code{ timer } $B$N0z?t$H$7$F(B secure_flag $B$r@_Dj$7$F$$$J$$4X?t$r(B |
|
$B;XDj$7$F<B9T$7$F$b%(%i!<$,I=<($5$l$J$$(B. |
|
$B$3$N$H$-$O(B, @code{ ctrl("error_in_timer",1) } $B$r<B9T$7$F$*$/(B. |
|
@end itemize |
|
|
|
@example |
|
[1194] set_secure_flag("print_input_form_",1); |
|
1 |
|
[1195] set_secure_flag("fctr",1); |
|
1 |
|
[220] set_secure_mode(1); |
|
1 |
|
[1197] fctr((x-1)^3); |
|
[[1,1],[x-1,3]] |
|
[1198] fctr(shell("ls")); |
|
evalf : shell not permitted |
|
return to toplevel |
|
@end example |
|
|
|
@table @t |
|
@item $B;2>H(B |
|
@ref{timer} |
|
@end table |
|
|
|
@noindent |
|
ChangeLog |
|
@itemize @bullet |
|
@item @code{set_secure_flag}, @code{set_secure_mode} $B$O(B asir $B$r(B |
|
web $B%5!<%PEy$G8x3+$9$k$?$a$K2C$($i$l$?4X?t(B. |
|
sm1 $B$NF1MM$J4X?t(B RestrictedMode $B$G:NMQ$5$l$?J}K!$rMQ$$$F$$$k(B. |
|
$B$D$^$j(B, @code{set_secure_flag} $B$G8x3+$9$k4X?t$r;XDj$9$k(B. |
|
@code{secure_mode} $B$,(B 1 $B$N>l9g$O(B @code{set_secure_flag} $B$G;XDj$5$l$?(B |
|
$B4X?t$7$+<B9T$G$-$J$$(B. |
|
v$B4X?t$N<B9TESCf$G$O(B @code{secure_mode} $B$,(B 0 $B$H$J$C$F$$$k$N$G(B, |
|
$BG$0U$N4X?t$r<B9T$G$-$k(B. |
|
@item $B$3$N4X?t$O(B 2004-10-27 $B$+$i(B 2004-11-22 $B$K$+$1$F3+H/$5$l$?(B. |
|
@item cgiasir.sm1, cgi-asir.sh $B$HAH$_9g$o$;$F(B cgi $B%5!<%S%9$rDs6!$9$k$?$a$K(B |
|
$BMxMQ$9$k(B. |
|
cgi-asir.sh $B$G$O(B |
|
@code{CGI_ASIR_ALLOW} $B4D6-JQ?t$G8x3+$9$k%3%^%s%I$r;XDj$9$k(B. |
|
@item |
|
1.24--1.25 OpenXM_contrib2/asir2000/builtin/miscf.c |
|
@item |
|
1.36--1.38 OpenXM_contrib2/asir2000/parse/eval.c |
|
@item |
|
1.6--1.7 OpenXM_contrib2/asir2000/parse/function.c |
|
@item |
|
1.33 OpenXM_contrib2/asir2000/parse/parse.h |
|
@end itemize |
|
|
|
@node double_quote,,, $B<B83E*;EMM$N4X?t(B |
|
@subsection @code{double_quote} |
|
@findex double_quote |
|
|
|
|
|
@comment --- $B@bL@(B --- |
|
@table @t |
|
@item double_quote, double quote $B$N<h07$d(B static $BJQ?t$N=i4|2=$NLdBjE@(B. |
|
@end table |
|
|
|
|
|
@itemize @bullet |
|
@item double quote $B$N<h07(B. $B2<$N$h$&$J%W%m%0%i%`$G(B parse error $B$,@8$8$k(B. |
|
$BLnO$[)$/(B: "TeXmacs $BMQ$K(B, $BE:;z$N<+F0JQ49$J$I$r$d$C$F$$$k$H$-$K(B, ox_asir $B$,<u$1<h$C$?(B |
|
$BJ8;zNs$N%P%C%/%9%i%C%7%e$,(B1 $B8D$N>l9g$K(B 2 $B8D$KA}$d$9$H$$$&4X?t$,DI2C(B |
|
$B$5$l$F$$$^$9(B. $B;n$7$K$3$l$r30$9$H(B OK $B$N$h$&$G$9(B. $B$G$b$-$C$HB>$G$*$+$7$J(B |
|
$B$3$H$,5/$-$k$G$7$g$&$M(B. |
|
$B;W$$=P$7$F$-$^$7$?(B. TeX $B$rAw$k$H$-$K(B, $B%P%C%/%9%i%C%7%e$@$i$1$K(B |
|
$B$J$k$N$rHr$1$k$?$a$@$C$?$h$&$J(B... " |
|
@item static $BJQ?t$N<h07(B. |
|
$B2<$NNc$r;2>H$N$3$H(B. |
|
@end itemize |
|
|
|
@example |
|
if (1) @{ |
|
S="\"hoge\""; |
|
print(S); |
|
@}else@{ @}; |
|
$B$r(B $B%U%!%$%k(B t.rr $B$K3JG<(B. |
|
|
|
[1207] S=util_read_file_as_a_string("/home/nobuki/t.rr"); |
|
if (1) @{ |
|
S="\"hoge\""; |
|
print(S); |
|
@}else@{ @}; |
|
|
|
[1208] eval_str(S); |
|
exprparse : parse error |
|
0 |
|
|
|
t.rr $B$r(B |
|
if (1) @{ |
|
S=" "+asciitostr([34])+"hoge"+asciitostr([34])+" "; |
|
print(S); |
|
@}else@{ @}; |
|
$B$HJQ99(B. S $B$KFI$_9~$`(B. |
|
[1212] eval_str(S); |
|
exprparse : parse error |
|
0 |
|
S="" $B$,$J$/$F$b(B if (1) $B$@$H%(%i!<$N$h$&$@(B. |
|
|
|
[1213] ox_launch(0,"ox_asir"); |
|
0 |
|
[1214] ox_execute_string(0,S); |
|
0 $B$7$+$7$3$A$i$O@5$7$/F0:n(B. |
|
|
|
@end example |
|
|
|
@example |
|
if (1) @{ |
|
module abc; |
|
static A; |
|
A=1; |
|
endmodule; |
|
@} else @{ @}; |
|
|
|
end$ |
|
$B$r(B t.rr $B$H$9$k$H$-(B, |
|
|
|
[6] load("./t.rr"); |
|
1 |
|
internal error (SEGV) |
|
$B$H$J$k(B. |
|
|
|
t.rr $B$r(B |
|
if (1) @{ |
|
module abc; |
|
static A; |
|
localf initA; |
|
localf foo; |
|
def initA() @{ |
|
A=1; |
|
@} |
|
initA(); |
|
def foo() @{ |
|
return A; |
|
@} |
|
endmodule; |
|
@} else @{ @}; |
|
|
|
end$ |
|
$B$H$9$k$H@5$7$/=i4|2=$5$l$k(B. |
|
@end example |
|
|
|
@comment --- ChangeLog |
|
@noindent |
|
ChangeLog |
|
@itemize @bullet |
|
@item oxasir-win.rr $B$N<h07$GLdBjE@$H$7$FIb>e(B. 2005.07.25. |
|
@item ox_asir $B$K7W;;$r0MMj$9$k;~$O(B if (1) @{ ... @}$B$G0O$`(B. |
|
@end itemize |
|
|
|
|
|
@comment **************************************************************** |
|
@comment --- $B"~"~"~"~(B $B0J2<B>$N4X?t$K$D$$$F??;w$7$F5-=R$9$k(B. $B"~"~"~"~(B |
@comment $B?7$7$$4X?t$N@bL@$r=q$/$?$a$N%F%s%W%l!<%H$G$"$k(B. $B>C$9$J(B. |
@comment $B?7$7$$4X?t$N@bL@$r=q$/$?$a$N%F%s%W%l!<%H$G$"$k(B. $B>C$9$J(B. |
@comment --- $B"~"~"~"~(B $B4X?t(B syz_pqr, xyz_stu $B$N@bL@(B $B"~"~"~"~(B |
@comment --- $B"~"~"~"~(B $B4X?t(B syz_pqr, xyz_stu $B$N@bL@(B $B"~"~"~"~(B |
@comment --- $BJ#?t$N4X?t$r$^$H$a$F@bL@$9$kNc(B --- |
@comment --- $BJ#?t$N4X?t$r$^$H$a$F@bL@$9$kNc(B --- |
|
|
$BJQ99$r$&$1$?%=!<%9%3!<%I$O(B xxxyy.rr, ppp.c $B$G$"$k(B. |
$BJQ99$r$&$1$?%=!<%9%3!<%I$O(B xxxyy.rr, ppp.c $B$G$"$k(B. |
@item $B$3$N4X?t$O(B 2000 $B:"$K$O$8$a$F$N%P!<%8%g%s$,=q$+$l$?(B. $B%=!<%9$O(B ppp.c $B$G$"$k(B. |
@item $B$3$N4X?t$O(B 2000 $B:"$K$O$8$a$F$N%P!<%8%g%s$,=q$+$l$?(B. $B%=!<%9$O(B ppp.c $B$G$"$k(B. |
@end itemize |
@end itemize |
|
@comment **************************************************************** |
|
|
@comment --- $B$*$^$8$J$$(B --- |
@comment --- $B$*$^$8$J$$(B --- |
@node Index,,, Top |
@node Index,,, Top |