Montar ou Criar .exe a partir de uma linguagem própria

3 respostas
P

Olá,

Alguém sabe onde posso encontrar material de estudo/tutorial de como gerar um .exe a partir de uma linguagem própria ? Ex. desenvolvimento de uma linguagem, onde se faz a compilação (sintática e semântica) e logo após, a montagem do .exe.

Penso que não seja algo trivial, mesmo assim tenho curiosidade de saber.

Desde já agradeço a atenção de todos.

3 Respostas

d34d_d3v1l

vc qer fazer um compilador q gere um .exe???

E

Acho que você vai ter de ralar bastante.

Primeiramente, você vai ter de aprender um pouquinho de teoria de compiladores (dê uma busca por isso na Internet, please), e se familiarizar com algumas ferramentas, que são chamadas “compiler compilers”, como o Antlr.

Esses “compiler compilers” ajudam a criar programas, chamados compiladores, que fazem uma parte do trabalho sujo de converter uma linguagem para um executável.

A seguir, vai ter de escolher uma linguagem objeto - ou seja, você cria um programa na sua linguagem (digamos que o nome dela seja Pernalonga++) e o compilador converte esse programa em outro programa, escrito em uma linguagem já existente e que pode ser convertida em um .exe. Normalmente as pessoas costumam escolher, para linguagem objeto, o C ou os bytecodes da JVM ou da CLR (.NET).

Se você realmente quer ralar bastante e bater muito a cabeça, pode escolher para linguagem objeto a linguagem Assembly.

A parte de otimização de código é muito, muito complexa, e normalmente há pouco material disponível sobre isso; o que as pessoas normalmente fazem é deixar esse serviço difícil para o compilador C ou então para a JVM ou a CLR.

P

entanglement,

É isso mesmo, você me entendeu. meu objetivo final é ver o que precisarei pra chegar no CLR (.NET). Estou ciente que terei que pedalar bastante, mas minha força de vontade é grande também. Obrigado pela dica da busca de “compiler compilers”, pesquisei e já tem bastante coisa pra me ocupar agora.

Valeu pessoal, grande abraço.

Criado 4 de maio de 2011
Ultima resposta 5 de mai. de 2011
Respostas 3
Participantes 3