Scilab 5.3.1
- Scilab help
- Scilab
- Scilab keywords
- TMPDIR
- abort
- add_demo
- argn
- banner
- boolean
- break
- clear
- clearfun
- clearglobal
- comp
- continue
- debug
- delbpt
- dispbpt
- edit
- errcatch
- errclear
- error
- error_table
- exists
- exit
- external
- extraction
- format
- funcprot
- funptr
- getdebuginfo
- getmd5
- getmemory
- getmodules
- getos
- getscilabmode
- getshell
- getvariablesonstack
- getversion
- gstacksize
- ieee
- insertion
- intppty
- inv_coeff
- iserror
- isglobal
- lasterror
- macr2lst
- macr2tree
- matrices
- matrix
- mode
- mtlb_mode
- names
- newfun
- null
- pause
- perl
- poly
- predef
- quit
- rational
- readgateway
- resume
- sciargs
- scilab
- setbpt
- sethomedirectory
- stacksize
- startup
- symbols
- testmatrix
- type
- typename
- user
- varn
- ver
- warning
- what
- where
- whereami
- who
- who_user
- whos
- with_atlas
- with_gtk
- with_javasci
- with_macros_source
- with_module
- with_pvm
- with_texmacs
- with_tk
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.
macr2lst
リスト変換用の関数
呼び出し手順
[txt]=macr2lst(function-name)
説明
このプリミティブは,コンパイル済みの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 関数は, 初期コードを生成する際に使用できます.
例
//DISPLAY function y=foo(x, flag) if flag then y=sin(x) else y=cos(x) end endfunction L=macr2lst(foo) fun2string(L)
参照
- macrovar — 関数の変数
- fun2string — Scilab関数のアスキー定義を生成する
- macr2tree — ツリー変換用の関数
- tree2code — Scilab関数のアスキー定義を生成する
<< lasterror | Scilab | macr2tree >> |