=================================================================== RCS file: /home/cvs/OpenXM/src/asir-doc/exp/exp-ja.texi,v retrieving revision 1.17 retrieving revision 1.20 diff -u -p -r1.17 -r1.20 --- OpenXM/src/asir-doc/exp/exp-ja.texi 2004/11/23 12:41:12 1.17 +++ OpenXM/src/asir-doc/exp/exp-ja.texi 2005/05/04 11:06:55 1.20 @@ -1,4 +1,4 @@ -%% $OpenXM: OpenXM/src/asir-doc/exp/exp-ja.texi,v 1.16 2004/07/28 11:46:23 ohara Exp $ +%% $OpenXM: OpenXM/src/asir-doc/exp/exp-ja.texi,v 1.19 2005/05/04 00:08:38 takayama Exp $ \input texinfo @iftex @catcode`@#=6 @@ -38,7 +38,7 @@ @title 実験的仕様の関数 @subtitle Risa/Asir 実験的仕様関数説明書 @subtitle 1.0 版 -@subtitle 2004 年 7 月 +@subtitle 2005 年 5 月 @author by Risa/Asir committers @page @@ -124,6 +124,7 @@ ChangeLog の項目は www.openxm.org の cvswe * sprintf:: * quote_to_funargs:: * funargs_to_quote:: +* get_function_name:: * remove_paren:: * set_secure_mode:: * set_secure_flag:: @@ -1081,13 +1082,13 @@ ChangeLog @end itemize -@node quote_flatten,,, 実験的仕様の関数 -@subsection @code{quote_flatten} -@findex quote_flatten +@node flatten_quote,,, 実験的仕様の関数 +@subsection @code{flatten_quote} +@findex flatten_quote @comment --- 関数の簡単な説明 --- @table @t -@item quote_flatten(@var{q},@var{op}) +@item flatten_quote(@var{q},@var{op}) :: quote の括弧をとりさる. @end table @@ -1110,8 +1111,11 @@ Quote 型のデータは木構造をしている たとえば (1+2)+(3+4) という表現を 1+2+3+4 に変換する. @item 現在の実装では n-ary の演算子は定義されていないので, - 1+2+3 は実は (1+2)+3 と表現されている. - つまり + 演算子は左結合的である. + 1+2+3 は実は 1+(2+3) と表現されている. + つまり + 演算子は右結合的である. +@item R=0; for (I=0; I,<...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 @item 参照 @ref{quotetolist} @@ -1333,8 +1369,6 @@ quote(f(1-x)) ChangeLog @itemize @bullet @item - このマニュアルは覚え書きである. 開発者が本格的なのを書くだろう. -@item これらの関数は 2004-7-8 から開発のはじまっている quote の simplification 関連 の実験的関数である. 変更をうけたソースコードは多岐にわたるのでまだ書かない. @@ -1343,6 +1377,8 @@ ChangeLog @item 2004-6-26 の計算代数セミナーにおいて, 中川さんが simplifier についていろいろ問題提起 をした (計算代数セミナービデオ参照). +@item parse/quote.c の {\tt strcut fid_spec fid_spec_tab[] } +の部分に書いてある形式に @code{funargs_to_quote} は変換する. @end itemize @node set_secure_flag,,, 実験的仕様の関数 @@ -1368,13 +1404,12 @@ ChangeLog @end table @itemize @bullet -@item @code{set_secure_flag}, @code{set_secure_mode} は asir を web サーバ等で公開するために -加えられた関数. sm1 の同様な関数 RestrictedMode で採用された方法を用いて -いる. -つまり, @code{set_secure_flag} で公開する関数を指定する. +@item @code{set_secure_flag}, @code{set_secure_mode} は +asir を web サーバ等で公開するために加えられた関数. +@code{set_secure_flag} で公開する関数を指定する. @code{secure_mode} が 1 の場合は @code{set_secure_flag} で指定された 関数しか実行できない. -v関数の実行途中では @code{secure_mode} が 0 となっているので, +関数の実行途中では @code{secure_mode} が 0 となっているので, 任意の関数を実行できる. またエラーの時等は, @code{secure_mode} は 1 に自動的に復帰する. ただし @code{def} は実行できない. @@ -1383,11 +1418,14 @@ security に十分注意した実装をする必要がある. @item @code{set_secure_flag} は, @var{fname} の secure flag を @var{m} にする. -通常公開する命令は flag 1 に設定する. +公開する命令は 1 に設定する. @item @var{set_secure_mode(1)} で @code{secure_mode} が 1 となり, 公開された関数しか実行できなくなる. quit 等も実行できないので注意. +@item @code{ timer } の引数として secure_flag を設定していない関数を +指定して実行してもエラーが表示されない. +このときは, @code{ ctrl("error_in_timer",1) } を実行しておく. @end itemize @example @@ -1412,6 +1450,14 @@ return to toplevel @noindent ChangeLog @itemize @bullet +@item @code{set_secure_flag}, @code{set_secure_mode} は asir を +web サーバ等で公開するために加えられた関数. +sm1 の同様な関数 RestrictedMode で採用された方法を用いている. +つまり, @code{set_secure_flag} で公開する関数を指定する. +@code{secure_mode} が 1 の場合は @code{set_secure_flag} で指定された +関数しか実行できない. +v関数の実行途中では @code{secure_mode} が 0 となっているので, +任意の関数を実行できる. @item この関数は 2004-10-27 から 2004-11-22 にかけて開発された. @item cgiasir.sm1, cgi-asir.sh と組み合わせて cgi サービスを提供するために 利用する. @@ -1427,8 +1473,8 @@ cgi-asir.sh では 1.33 OpenXM_contrib2/asir2000/parse/parse.h @end itemize +@comment **************************************************************** @comment --- ◯◯◯◯ 以下他の関数について真似して記述する. ◯◯◯◯ - @comment 新しい関数の説明を書くためのテンプレートである. 消すな. @comment --- ◯◯◯◯ 関数 syz_pqr, xyz_stu の説明 ◯◯◯◯ @comment --- 複数の関数をまとめて説明する例 --- @@ -1489,6 +1535,7 @@ ChangeLog 変更をうけたソースコードは xxxyy.rr, ppp.c である. @item この関数は 2000 頃にはじめてのバージョンが書かれた. ソースは ppp.c である. @end itemize +@comment **************************************************************** @comment --- おまじない --- @node Index,,, Top