𝗖𝗼𝗺𝗼 𝗘𝘀𝗰𝗿𝗲𝘃𝗲𝗿 𝗨𝗺 𝗜𝗻𝘁𝗲𝗿𝗽𝗿𝗲𝘁𝗮𝗱𝗼𝗿 𝗟𝗶𝘀𝗽

Você adquire um conhecimento profundo ao aprender como as linguagens de programação funcionam. Construir um interpretador Lisp em Python é uma maneira clássica de observar isso.

Peter Norvig escreveu um guia famoso sobre este tópico em 2010. Os princípios do design de interpretadores não mudam. Você aprende como o código se transforma em ação.

Um interpretador segue três estágios principais:

  • Análise Léxica: Você divide o código bruto em tokens. Estas são as pequenas partes, como palavras e símbolos.
  • Análise Sintática: Você transforma os tokens em uma árvore. Esta árvore mostra a estrutura do código.
  • Avaliação: Você percorre a árvore para executar as operações e obter um resultado.

O Lisp torna isso simples. Ele utiliza S-expressions. Isso significa que tudo é uma lista dentro de parênteses. O primeiro item é geralmente a função. O restante são os argumentos.

Para começar, você transforma o código como (+ 10 (* 2 5)) em tokens.

Seus tokens ficam assim: '(', '+', '10', '(', '*', '2', '5', ')', ')'

Estudar essas mecânicas fundamentais muda a forma como você utiliza suas ferramentas todos os dias.

Fonte: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-how-to-write-a-lisp-interpreter-in-python-2010-22ca