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