Código encadeado

Definição - O que significa Threaded Code?

O código encadeado é uma técnica de implementação do compilador usada para implementar interpretadores de máquina virtual. O código gerado pelo código encadeado contém principalmente chamadas para sub-rotinas. Esse código também pode ser uma sequência simples de instruções de chamada de máquina ou talvez um código que precise ser processado por um interpretador de máquina. Código encadeado é o método implementado em linguagens de programação como FORTH, a maioria das implementações de BASIC e algumas versões de COBOL. Uma das características proeminentes do código encadeado é que, em comparação com outros métodos de geração de código, ele tem uma densidade de código mais alta. Ao mesmo tempo, a velocidade de execução é ligeiramente mais lenta do que os códigos gerados por métodos alternativos.

Definirtec explica código encadeado

O código encadeado é implementado principalmente usando os seguintes modelos:

  • Código encadeado direto: O código do programa é um vetor normal de ponteiros de procedimento para chamar, organizados na ordem em que aparecem.
  • Indirect Threaded Code: Faz a representação do programa compilado com a ajuda de ponteiros de endereço. A representação faz uso de vetor de endereços para descritores e não os endereços do código de execução. Os descritores, por sua vez, apontam para o código de execução pretendido.
  • Código encadeado da sub-rotina: Comparado a outros métodos, o código encadeado da sub-rotina possui representações de código que podem ser executadas diretamente pela CPU. Neste método, o vetor utilizado consiste em instruções JSR ou CALL ao invés de um vetor de endereços.
  • Token Threaded Code: faz uso da abordagem ThreeStarProgramming para interpretar as representações compiladas. As representações são geralmente restritas a menos de 256 instruções virtuais. Como resultado dessa restrição, o código encadeado de token também é conhecido como código de byte.