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