macr2tree
fournit le code interne d'une fonction compilée en Scilab
Séquence d'appel
p = macr2tree(fonction)
Paramètres
- fonction
 identifiant direct d'une fonction compilée écrite en Scilab (NON son nom sous forme texte)
- p
 Liste de type
programavec les champsp.name,p.nblines,p.inputs,p.outputs, etp.statements. Les 3 derniers sont des listes imbriquées décrivant le code interne de lafonction.
Description
Cette primitive convertit une fonction compilée
            de Scilab en un arbre (tlists imbriquées)
            représentant le code interne de la fonction.
            A utiliser avec tree2code().
Exemples
prog = macr2tree(log2); // Noter que l'entrée est log2, non "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
Voir aussi
| Report an issue | ||
| << getd | Fonctions avancées | macro >> |