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
program
avec 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 >> |