Scilab 5.3.3
- Ajuda Scilab
- Scilab
- Scilab palavra-chave
- abort
- add_demo
- argn
- banner
- boolean
- break
- clear
- clearfun
- clearglobal
- comp
- continue
- debug
- delbpt
- dispbpt
- edit
- errcatch
- errclear
- error
- error_table
- exists
- exit
- external
- extraction
- format
- funcprot
- funptr
- getdebuginfo
- getmd5
- getmemory
- getmodules
- getos
- getscilabmode
- getshell
- getvariablesonstack
- getversion
- gstacksize
- ieee
- insertion
- intppty
- inv_coeff
- iserror
- isglobal
- lasterror
- macr2lst
- macr2tree
- matrices
- matrix
- mode
- mtlb_mode
- names
- newfun
- null
- pause
- perl
- poly
- predef
- quit
- rational
- readgateway
- resume
- sciargs
- scilab
- setbpt
- stacksize
- startup
- symbols
- testmatrix
- type
- typename
- user
- varn
- ver
- warning
- what
- where
- whereami
- who
- who_user
- whos
- with_atlas
- with_javasci
- with_macros_source
- with_module
- with_pvm
- with_texmacs
- with_tk
- TMPDIR
Ajuda Scilab >> Scilab > 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
| << lasterror | Scilab | macr2tree >> |