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

Change language to:
English - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Aide de Scilab >> Fonctions avancées > macr2tree

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-2024 (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 Jan 03 14:33:08 CET 2022