Seguinte: Elementos da Linguagem Acima: Introdução à Linguagem Lisp Anterior: Linguagem de Programação
Índice remissivo

O Avaliador

Em Lisp, qualquer expressão tem um valor. Este conceito é de tal modo importante que todas as implementações da linguagem Lisp apresentam um avaliador, i.e., um pequeno programa destinado a interagir com o utilizador de modo a avaliar expressões por este fornecidas. Assim, quando o utilizador começa a trabalhar com o Lisp, é-lhe apresentado um sinal e o Lisp fica à espera que o utilizador lhe forneça uma expressão.

Welcome to Common Lisp!
>

O carácter ``>'' é a ``prompt'' do Lisp, à frente da qual vão aparecer as expressões que o utilizador escrever. O Lisp interacciona com o utilizador executando um ciclo em que lê uma expressão, determina o seu valor e escreve o resultado. Este ciclo de acções designa-se, tradicionalmente, de ciclo read-eval-print.

Quando o Lisp lê uma expressão, constroi internamente um objecto que a representa. Esse é o papel da fase de leitura. Na fase de avaliação, o objecto construído é analisado de modo a produzir um valor. Esta análise é feita empregando as regras da linguagem que determinam, para cada caso, qual o valor do objecto construído. Finalmente, o valor produzido é apresentado ao utilizador na fase de escrita através de uma representação textual desse valor.

Dada a existência do ciclo read-eval-print, em Lisp não é necessário instruir o computador a escrever explicitamente os resultados de um cálculo como, por exemplo, em Pascal. Isto permite que o teste e correcção de erros seja bastante facilitada. A vantagem de Lisp ser uma linguagem interactiva está na rapidez com que se desenvolvem protótipos de programas, escrevendo, testando e corrigindo pequenas funções de cada vez.

Exercício 1

Descubra como é que inicia e termina a sua interacção com o Lisp.



Copyright António Leitão, 1995