Como criar uma linguagem de programação do 0?
25/10/2015
0
O mais perto que eu achei era um criando uma compilador usando C#, eu quero criar uma linguagem nova, do 0.
Por exemplo: Vamos supor que o C# não existe ainda, e eu vá cria-lo, em vez de eu criar uma linguagem a partir do C#.
Sei que é muito difícil, porém estou capacitado.
Sei as fases do compilador, tipo, análise léxica, semântica, sintática, esse tipo de coisa.
Só que não sei como definir tipos de código da minha linguagem, não sei por onde começar, tipo:
onde eu vou escrever a estrutura da minha linguagem;
como eu vou definir as funções dos códigos e o resultado.
Eu quero criar um linguagem funcional, tipo F# da vida, só que mais simplificado é claro. E junto criar minha plataforma onde essa minha linguagem pertencesse, assim como o .NET
João Quinaglia
Post mais votado
26/10/2015
Provavelmente não tenho muito como ajudá-lo, mas teria como dar mais detalhes?
Esta linguagem seria somente funcional ou seria programação imperativa, procedimental e orientada a objeto tradicional?
Seria interface gráfica (deskttop) e web?
Seria fortemente tipada ou fracamente tipada?
Seria escrita em C?
É um projeto acadêmico ou você pretende comercializá-lo?
Jothaz
Mais Posts
26/10/2015
João Quinaglia
Provavelmente não tenho muito como ajudá-lo, mas teria como dar mais detalhes?
Esta linguagem seria somente funcional ou seria programação imperativa, procedimental e orientada a objeto tradicional?
Seria interface gráfica (deskttop) e web?
Seria fortemente tipada ou fracamente tipada?
Seria escrita em C?
É um projeto acadêmico ou você pretende comercializá-lo?
Somente funcional, seria para desktop, fortemente tipada, seria escrita em c# ou c++ e é um projeto pessoal mesmo, tipo, só pra mim aprender, mas se der tudo certo posso ir aprimorando-a conforme o passar dos anos e talvez um dia torná-la comercial.
26/10/2015
Eduardo Pessoa
26/10/2015
Jothaz
Eu começaria do básico e criaria um interpretador para uma "linguagem de scripts".
E faço minha as palavras do Eduardo, não se esqueça de postar os avanços sobre este projeto.
26/10/2015
Fernanda Acacia
O que a gente tem como base são as historias das linguagens de programação comerciais atuais, onde geralmente existe uma grande equipe de desenvolvimento.
26/10/2015
João Quinaglia
Pelo que entendi nas minhas pesquisas, cria-se uma linguagem usando outra mesmo, e se for aquelas linguagens que criam interface gráfica, é só criar outro compilador dela mesma em seu próprio compilador, e ir evoluindo assim pro diante.
26/10/2015
Marcos P
Existe bastante material na WEB sobre isso... a enorme maioria em inglês.
Separei alguns links mais simples :
http://www.drdobbs.com/architecture-and-design/so-you-want-to-write-your-own-language/240165488?pgno=1
http://programmers.stackexchange.com/questions/84278/how-do-i-create-my-own-programming-language-and-a-compiler-for-it
http://www.wikihow.com/Create-a-Programming-Language
Agora, se prepare, é um trabalho de anos ( exatamente como o Jothaz destacou ) e como um desses artigos define : "First off, you're in for a lot of work…years of work…most of which will be wandering in the desert."
26/10/2015
Fernanda Acacia
A ideia parece ser um pouco complexa, mas é interessante.
27/10/2015
Aluisio Cavalcante
[2]
04/07/2019
Jairo
https://ibb.co/FwL0JwF (PAsm)
https://ibb.co/FngWWjr (JPL)
18/09/2020
Ramon
https://ibb.co/FwL0JwF (PAsm)
https://ibb.co/FngWWjr (JPL)
eu tenho interesse se puder monstrar
19/09/2020
Devair
eax
ecx
ebx
edi
esi
e outros . . .
e comandos como esses :
sub -> que faz a subtração do registrador A por um outro número
mov -> coloca um valor no registrador A
push -> arquiva o valor de algum registrador preservando seu valor e usa-lo depois
call -> faz uma chamada para uma surotina , que em linguagens de alto nível são chamadas de função
ret -> sai do programa assembler e retorna para o windows ou Linus ou Mac OS , etc . . .
03/03/2022
Nadson Gomes
O mais perto que eu achei era um criando uma compilador usando C#, eu quero criar uma linguagem nova, do 0.
Por exemplo: Vamos supor que o C# não existe ainda, e eu vá cria-lo, em vez de eu criar uma linguagem a partir do C#.
Sei que é muito difícil, porém estou capacitado.
Sei as fases do compilador, tipo, análise léxica, semântica, sintática, esse tipo de coisa.
Só que não sei como definir tipos de código da minha linguagem, não sei por onde começar, tipo:
onde eu vou escrever a estrutura da minha linguagem;
como eu vou definir as funções dos códigos e o resultado.
Eu quero criar um linguagem funcional, tipo F# da vida, só que mais simplificado é claro. E junto criar minha plataforma onde essa minha linguagem pertencesse, assim como o .NET
Soube recentemente de um projeto bem interessante dos professores Shimon Shocken e Noam Nisan, ele se chama From Nand to Tetris. Ainda não consumi o conteúdo completo mas pelo que vi até agora, nele você aprende a construir um computador completo, do hardware ao software, desde componentes NAND até rodar um software nele, como o jogo Tetris. Ao longo desse processo você vai aprender como criar um compilador e uma linguagem de programação, segundo os professores. O curso está disponível na plataforma Coursera e tem legendas em português.
Clique aqui para fazer login e interagir na Comunidade :)