- Ajuda Scilab
- Funções
- Built-in & external
- Libraries
- profiling
- argn
- bytecode
- bytecodewalk
- comp
- deff
- edit
- exec
- execstr
- fun2string
- funcprot
- function
- functions
- getd
- head_comments
- listfunctions
- macr2lst
- macr2tree
- macro
- macrovar
- mode
- overloading
- recompilefunction
- sciargs
- tree2code
- varargin
- varargout
- code2str
- str2code
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.
macr2lst
conversão de função para lista
Seqüência de Chamamento
[txt]=macr2lst(function-name)
Descrição
Esta primitiva converte uma versão compilada do Scilab
function-name
em uma lista que codifica a representação
interna da função (notação polonesa inversa).
A primeira entrada da lista é o nome da função, as segunda e terceira são, respectivamente, os vetores das variáveis de lado esquerdo e direito (lhs e rhs). As entradas seguintes são registros de operação básica ou listas que contém as estruturas de controle hierárquicas como if , for, ...
Registros de operação básica são descritos por um vetor de strings cujo primeiro elemento representa código do operador (op code).
op codes | significado | parâmetros |
"0" | opcode ignorado | nenhum |
"1" | não mais usado | |
"2" | referência à função ou variável | nome da variável, #rhs, #lhs |
"3" | coloca um string na pilha | um string |
"4" | coloca uma matriz vazia na pilha | nenhum |
"5" | aplica uma operação | código de operação, #rhs,#lhs |
"6" | coloca um número na pilha | o número |
"12" | comando pause | nenhum |
"13" | comando break | nenhum |
"14" | comando abort | nenhum |
"15" | marca de fim da linha | nenhum |
"17" | comando quit | nenhum |
"18" | variável nomeada | nome da variável |
"19" | cria estrutura de índice recursiva | comprimento do endereço, número de índices finais |
"20" | chamada a função | nome da função, #rhs, #lhs |
"23" | cria variável a partir do nome | nome da variável |
"24" | coloca uma variável de tipo 0 na pilha | nenhum |
"25" | registro de perfil | número da chamada, gasto de tempo |
"26" | coloca um vetor de strings na pilha | #linhas, #colunas, seqüência de elementos |
"27" | coloca uma referência a um builtin na pilha | número da interface, posição da interface, nome da função |
"28" | comando continue | nenhum |
"29" | atribuição | #lhs, modo de exibição, (nome da variável, #rhs)* |
"30" | curto circuito de expressão lógica | tipo, tamanho do salto (jump) |
"31" | comentário | o comentário |
"99" | comando return | nenhum |
> "100" | chamada a um builtin (obsoleto) | 100*fun, #rhs, #lhs, fin |
A função fun2string pode ser usada para se gerar o código inicial
Exemplos
//EXIBIÇÃO function y=foo(x, flag) if flag then y=sin(x) else y=cos(x) end endfunction L=macr2lst(foo) fun2string(L)
Ver Também
- macrovar — variáveis de uma função
- fun2string — gera definição ASCII de uma função Scilab
- macr2tree — conversão de função para árvore
- tree2code — gera a definição ASCII de uma função Scilab
Report an issue | ||
<< listfunctions | Funções | macr2tree >> |