Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
macr2tree
provides the internal code of a compiled Scilab function
Syntax
p = macr2tree(function)
Arguments
- function
handle of a Scilab macro (not its name as a string)
- p
List of type
program
with the fieldsp.name
,p.nblines
,p.inputs
,p.outputs
, andp.statements
. The 3 last ones are nested lists describing the internal code of thefunction
. The output ofmacr2tree
is usually used to feedtree2code(..)
.
Description
This primitive converts a compiled Scilab function
into a tree (nested tlists) which codes the internal representation of
the function. For use with tree2code
.
Examples
prog = macr2tree(log2); // Note that the input is log2, not "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
See also
Report an issue | ||
<< head_comments | Advanced functions | macro >> |