UP | HOME

Como ler este documento

Como citado anteriormente, este documento funciona de forma dupla, constituindo-se de duas partes: primeiro, uma prosa com blocos de código nela inseridos; segundo, o entrelaçamento dos blocos de código em seus respectivos arquivos, o que compõe o texto do código do interpretador de Majestic Lisp.

A linguagem utilizada na construção do interpretador é a linguagem Rust1, uma linguagem construída para programação de sistemas. Usufruiremos dos recursos de Rust para construir o interpretador, mas o livro não é um tutorial dessa linguagem; dito isso, os blocos de código em Rust foram construídos com cuidado para que possam ser o quanto mais acessíveis for possível para leigos nessa linguagem.

Blocos de implementação de métodos em Rust (iniciados pela palavra-chave impl) foram divididos em certas partes, de forma que pode haver redundância em sua declaração. Isso foi feito para que cada método possa ser estudado e descrito separadamente, onde esse procedimento for pertinente.

No caso dos exemplos envolvendo código em Majestic Lisp, algumas vezes precisaremos simular entrada e saída de comandos em uma estrutura chamada REPL. O REPL (acrônimo para read, eval, print, loop) nada mais é que a ideia de um console interativo, onde o usuário digitará uma entrada, e em seguida o resultado do processamento dessa entrada será impresso logo abaixo.

Seguiremos um formato de descrição do REPL onde a entrada do usuário é precedida por um caractere >. O resultado da operação virá logo abaixo, sem um recuo. Em entradas multilinha da parte do usuário, estas respeitarão o recuo produzido pelo caractere >.

> entrada do usuário
resultado

> entrada do usuário
  com múltiplas linhas
resultado

Footnotes:

Author: Lucas S. Vieira

Created: 2022-10-24 seg 00:27

Validate