Executando verificação de segurança...
2

Parte 6 | Criando um Linguagem de Programação do Zero: Verificando e Gerando Expressões

Bom dia pessoal, mais um post da série criando uma linguagem de programação do zero está sendo postado hoje, a parte 6, e vim aqui falar sobre o que fizemos nessa parte e avisar pra quem estiver acompanhando e quiser ler o texto completo.

Neste post vamos terminar as alterações que iniciamos no post passado:

  • typechecker:
    • atualizar função check_binary_expression, agora as funções analizam os nodes da operação de maneira recursiva permitindo uma checkagem mais avançada.
    • atualizar função check_unary_expression, a mesma coisa se aplica nesta função, analizaremos o node da operação de maneira recursiva.
    • atulizar função principal check_program, corrigiremos um erro encontrado na verificação principal que tinha passado despercebido.
  • generator:
    • atualizar a função gen_binary_expression, agora a função utiliza recursividade indireta (assim como a do typechecker) para gerar a string final.
    • atualizar a função gen_unary_expression, a mesma lógica foi aplicada aqui.
    • atualizar a função gen_program para reutilizar algumas funções do type checker
  • gramática:
    • alterar a regra primary_expression para exportar conseguir exportar um objeto do tipo parenthesized_expression que usaremos no generator e no type checker

Estou aberto a receber feedback e sugestões, sintam-se à vontade para comentar suas opiniões.

👉Ler o post completo!

Carregando publicação patrocinada...