Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - Français


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 champs p.name, p.nblines, p.inputs, p.outputs, et p.statements. Les 3 derniers sont des listes imbriquées décrivant le code interne de la fonction.

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

  • tree2code — generates the text definition of a Scilab function from its internal code
  • macrovar — variables d'une fonction
  • functions — procédures Scilab et objets Scilab
Report an issue
<< getd Fonctions avancées macro >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:39:48 CEST 2023