<< getd Функции макрос >>

Scilab Help >> Функции > macr2tree

macr2tree

Обеспечивает внутренний код скомпилированного функции Scilab

Синтаксис

p = macr2tree(function)

Аргументы

function

дескриптор сценария Scilab (НЕ его имя в виде строки)

p

Список типа 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

Смотрите также


Report an issue
<< getd Функции макрос >>