Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.4.0 - Português

Change language to:
English - Français - 日本語 - Русский

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.

Ajuda Scilab >> Funções > macr2lst

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

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 Oct 01 17:39:55 CEST 2012