=================================================================== RCS file: /home/cvs/OpenXM/src/asir-doc/exp/exp-ja.texi,v retrieving revision 1.20 retrieving revision 1.22 diff -u -p -r1.20 -r1.22 --- OpenXM/src/asir-doc/exp/exp-ja.texi 2005/05/04 11:06:55 1.20 +++ OpenXM/src/asir-doc/exp/exp-ja.texi 2005/07/26 05:31:52 1.22 @@ -1,4 +1,4 @@ -%% $OpenXM: OpenXM/src/asir-doc/exp/exp-ja.texi,v 1.19 2005/05/04 00:08:38 takayama Exp $ +%% $OpenXM: OpenXM/src/asir-doc/exp/exp-ja.texi,v 1.21 2005/07/25 12:23:05 takayama Exp $ \input texinfo @iftex @catcode`@#=6 @@ -128,6 +128,7 @@ ChangeLog の項目は www.openxm.org の cvswe * remove_paren:: * set_secure_mode:: * set_secure_flag:: +* initialize_static_variable:: @end menu @comment --- ◯◯◯◯ 関数 quotetotex, quotetotex_env の説明 ◯◯◯◯ @@ -1472,6 +1473,69 @@ cgi-asir.sh では @item 1.33 OpenXM_contrib2/asir2000/parse/parse.h @end itemize + +@node initialize_static_variable,,, 実験的仕様の関数 +@subsection @code{initialize_static_variable} +@findex initialize_static_variable + + +@comment --- 説明 --- +@table @t +@item static 変数の初期化の問題点. 初期化の時に segmentation fault がおきる. +@end table + + +@itemize @bullet +@item static 変数の取扱. +下の例を参照のこと. +@end itemize + + +@example +if (1) @{ + module abc; + static A; + A=1; + endmodule; +@} else @{ @}; + +end$ +を t.rr とするとき, + +[6] load("./t.rr"); +1 +internal error (SEGV) +となる. + +t.rr を +if (1) @{ + module abc; + static A; + localf initA; + localf foo; + def initA() @{ + A=1; + @} + initA(); + def foo() @{ + return A; + @} + endmodule; +@} else @{ @}; + +end$ +とすると正しく初期化される. +@end example + +@comment --- ChangeLog +@noindent +ChangeLog +@itemize @bullet +@item oxasir-win.rr の取扱で問題点として浮上. 2005.07.25. +@item oxasir-win.rr の取扱で double quote の取り扱いに問題があったが, これは asir2000/io/ox_asir.c, 1.58, で問題点解決. +@item ox_asir に計算を依頼する時は if (1) @{ ... @}で囲む. +@end itemize + @comment **************************************************************** @comment --- ◯◯◯◯ 以下他の関数について真似して記述する. ◯◯◯◯