Skip to content

Latest commit

 

History

History
31 lines (21 loc) · 2.34 KB

File metadata and controls

31 lines (21 loc) · 2.34 KB

1 - Porque esse projeto

Depois de muito tempo estudando, testando e criando interpretadores e compiladores consegui chegar a um nível aceitável no assunto, depois de um tempo criei linguagens e projetos que chamaram a atenção de algumas pessoas e claro de iniciantes que queriam aprender a criar suas linguagens e depois de ensinar várias pessoas e cada vez mais pessoas me perguntando, resolvi criar este "manual" reunindo todo o meu conhecimento e ensinando para desenvolvedores iniciantes que têm dúvidas e até aqueles que estão na universidade e querem um projeto para impressionar seu professor e sua turma.

2 - Porque devo aprender a criar linguagens?

Embora linguagens grandes precisem de uma equipe trabalhando em cima deles para que sempre fiquem melhor, você pode usar esse conhecimento e criar uma linguagem que torne seu trabalho e o de seus amigos mais fácil. Por que não criar uma linguagem com um foco específico que o ajude no trabalho?

Além disso pra todo programador é de suma importancia entender como as linguagens funcionam no seu interior.

3 - Que linguagens vamos usar e o que preciso saber?

Qual a linguagem?

Vamos usar Python, que não é tão rápido, mas é fácil e podemos ensinar a maioria dos conceitos sem se preocupar com sintaxes mais complexas como C e Java.

O que preciso saber?

  • Claro, o básico de Python e C (não se preocupe, python é semelhante a C e se você deseja implementar em C certamente se você conhece C será capaz de escrever o código!)
    • Desejável saber como ler arquivos de texto

4 - O que vou aprender?

Você aprenderá 3 partes importantes:

  • Teoria, aqui você aprende como funciona uma linguagem
  • Criando um interpretador pt.1, aqui você cria um interpretador que lê o código e executa
  • Criando um compilador pt.1, Crie um compilador que gere o código C e chame o compilador C para gerar um executável
  • Comparação, comparando um compilador para codigo Assembly para um compilador para codigo C

5 - E agora?

E agora você vai ler esta delicinha de repositório e finalmente entender como uma linguagem funciona e criar suas próprias linguagens!

E é importante ressaltar que os compiladores que veremos aqui não estarão 100% otimizados porque seria um grande trabalho para vocês, mas tentarei escrever algo sobre otimização.

Voltar