macr2lst リスト変換用の関数 呼び出し手順 lst = macr2lst(function_name) 引数 function_name 変換する関数. lst リスト. 説明 このプリミティブは,コンパイル済みのScilab関数 function_name を,関数の内部表現をコード化(逆ポーランド表記)したリストに変換します. リストの最初のエントリは関数名,2番目および3番目のエントリは それぞれ左辺引数および右辺引数の変数名となります. それ以降のエントリは,基本的な演算子レコードもしくは if, for, ... のような制御構造の階層を含むリストのどちらかです. 基本的な演算子レコードは, 文字列ベクトルにより記述されます. その最初の要素はオペコードを表します. オペコード 意味 パラメータ "0" 無視されるオペコード なし "1" 使用停止 "2" 変数または関数リファレンス 変数名, #rhs, #lhs "3" スタック内に文字列を配置 文字列 "4" スタック内に空の行列を配置 なし "5" 処理を適用 処理コード, #rhs,#lhs "6" 数値をスタックに配置 数値 "12" 停止コマンド なし "13" ブレークコマンド なし "14" 中断コマンド なし "15" 行終端記号 なし "17" quit コマンド なし "18" 名前のある変数 変数名 "19" 再帰的な添え字構造を作成 パスの長さ, 最終添え字の番号 "20" 関数コール 関数名, #rhs, #lhs "23" 名前を指定して変数を作成 変数名 "24" 0型の変数をスタックに代入 なし "25" プロファイル用レコード コール数, 消費時間 "26" 文字列ベクトルをスタック内に配置 #rows, #columns, 要素のシーケンス "27" 組み込みリファレンスをスタックに配置 インターフェイス番号, インターフェイス内の位置, 関数名 "28" continue コマンド なし "29" 代入 #lhs, 表示モード, (変数名, #rhs)* "30" 論理値式 省略形 型, ジャンプの長さ "31" コメント コメント "99" return コマンド なし > "100" 組み込みコール (古い) 100*fun, #rhs, #lhs, fin fun2string 関数は, 初期コードを生成する際に使用できます. 参照 macrovar fun2string macr2tree tree2code