Desmistificando Interpretadores – Parte 4

Antes de mais nada, esta é a continuação da série Desmistificando Interpretadores. Para não se perder, leia os primeiros posts, onde abordo sobre Análise Léxica e Análise Sintática: 1ª Parte – Desmistificando Interpretadores 2ª Parte – Desmistificando Interpretadores 3ª Parte – Desmistificando Interpretadores   Abstract Syntax Tree (AST) Se você lembra, no começo deste tópico…

Continuar lendo

Desmistificando Interpretadores – Parte 3

No post anterior aprendemos o que são os grammars e como funciona um recursive decent parser usando apenas as operações de adição e multiplicação. Agora que temos uma boa base, podemos continuar a implementar os próximos operadores. Desmistificando Interpretadores – Parte 1 Desmistificando Interpretadores – Parte 2 Subtração e Divisão Como disse antes, usamos apenas…

Continuar lendo

Desmistificando Interpretadores – Parte 2

Desmistificando Interpretadores – Parte 1 Análise Sintática Essa etapa também é conhecida como parsing, e é a segunda fase do nosso interpretador. É aqui que vamos analisar os tokens produzidos no lexer, que vimos na primeira parte desta série, para construir uma árvore sintática abstrata (ou como é mais conhecido, AST, do inglês Abstract Syntax…

Continuar lendo

Desmistificando Interpretadores – Parte 1

Introdução Antes de começar a escrever este artigo, meu conhecimento sobre linguagens se resumia em: “não faço a mínima ideia de como esse treco funciona”. E sempre que eu pesquisava para ter uma noção básica sentia que estava lendo grego, achava tudo mágico, místico. Então se você também não entende nada do assunto, sei exatamente…

Continuar lendo

Criando content loaders confiáveis

Content loaders (também conhecidos como placeholder loaders, ou skeleton loaders) além de serem legais são muito úteis para UX, como por exemplo: O loading mostra uma prévia do que será o conteúdo. O usuário tem a percepção que o conteúdo carrega mais rápido. Cria uma expectativa no usuário e evita surpresas. Problemas Fato é que…

Continuar lendo