Обеспечивает внутренний код скомпилированного функции Scilab
p = macr2tree(function)
дескриптор сценария Scilab (НЕ его имя в виде строки)
Список типа program
с полями
p.name
, p.nblines
,
p.inputs
, p.outputs
и
p.statements
. Последние три являются вложенными списками,
описывающими внутренний код function
.
Этот примитив преобразует компилированную функцию Scilab с именем
function_name
в дерево (перекрываемые типизированные
списки), которое кодирует внутреннее представление функции.
Для использования совместно с tree2code()
.
prog = macr2tree(log2); // Заметьте, что на входе указано log2, а не "log2" typeof(prog) fieldnames(prog)' prog.name deftxt = tree2code(prog, %T); printf("%s\n", deftxt); | ![]() | ![]() |
--> typeof(prog) ans = program --> fieldnames(prog)' ans = !name outputs inputs statements nblines ! --> prog.name ans = log2 --> deftxt = tree2code(prog, %T); --> printf("%s\n", deftxt); function [f,e] = log2(x) [lhs,rhs] = argn(0) if rhs<>1 then msg = gettext("%s: Wrong number of input argument(s): %d expected.\n") error(msprintf(msg, "log2", 1)) end if argn(1)==1 then f = log(x)/log(2) else [f,e] = frexp(x) end endfunction