Página 2 de 2 PrimeiroPrimeiro 12
+ Responder ao Tópico



  1. #21
    poleto
    Visitante

    Padrão Como criar linguagem de programação

    Acredito que a matéria de compiladores esteja incluída nos curriculums da maioria dos cursos de graduação plena (os que duram 4 anos, ainda não vi curso de tecnólogo - em geral 3 anos - com essa disciplina), e geralmente o que se aprende é a criar um compilador para uma linguagem já existente, e não desenvolver a linguagem propriamente dita (apesar de que são visto coisas como alfabeto e linguagens; gramáticas; automatos finitos e linguagens regulares; etc.). Já vi o caso de um professor que já tinha desenvolvildo uma linguagem e o que os alunos fizeram foi criar um compilador para esta linguagem, mas claro que isso vai variar de uma instituição para outra.

  2. #22

    Padrão Como criar linguagem de programação

    Citação Postado originalmente por poleto
    Acredito que a matéria de compiladores esteja incluída nos curriculums da maioria dos cursos de graduação plena (os que duram 4 anos, ainda não vi curso de tecnólogo - em geral 3 anos - com essa disciplina), e geralmente o que se aprende é a criar um compilador para uma linguagem já existente, e não desenvolver a linguagem propriamente dita (apesar de que são visto coisas como alfabeto e linguagens; gramáticas; automatos finitos e linguagens regulares; etc.). Já vi o caso de um professor que já tinha desenvolvildo uma linguagem e o que os alunos fizeram foi criar um compilador para esta linguagem, mas claro que isso vai variar de uma instituição para outra.

    Eu tbm acho!!
    8)

  3. #23
    eyglys
    Visitante

    Padrão Como criar linguagem de programação

    Citação Postado originalmente por edmafer
    Agora para você fazer um compilador, é mais complexo, precisará de conhecimente de nivel baixo, para poder trabalhar com hardware (não sei se é possível fazer isto, sem este conhecimento, me corrijam pessoal de Ciencias da Computação), ele vai ler um arquivo com a sua linguagem e a partir dele gerará um executável que possue código de máquina (simplificando o processo, estude sobre compilação que tem outros passos).
    edmafer, um compilador e um interpretador são quase idênticos a grande diferença está em que um vai executando as instruções e o outro vai transformando o código em um código objeto.

    Ao contrário do que muitos pensam, o compilador não gera um código de máquina (código de máquina, é um código entendível pelo nível mais baixo, o hardware), eles geram um código compreensível pelo sistema operacional (por isso um aplicativo de um sistema operacional dificilmente funcionará em outro, a menos que a API de instruções de SO fornecida, seja EXATAMENTE a mesma).

    Respondendo a alguns questionamentos de natasha:
    Como já foi explicado, cursos superiores ensinam sim a fazer linguagens de programação, e a disciplina mais básica disso seria arquitetura de computadores (dá uma noção do funcionamento do computador e como as linguagens são entendidas pelo hardware) e compiladores. É obvio que existe muita coisa adiante de compiladores, que é plenamente possível ser abordado em um curso superior.

    Faço Eng. de computação e essas disciplinas básicas, para se criar uma linguagem são ministradas na minha instituição pública.

  4. #24
    eyglys
    Visitante

    Padrão varia de cada instituição

    Citação Postado originalmente por poleto
    Acredito que a matéria de compiladores esteja incluída nos curriculums da maioria dos cursos de graduação plena (os que duram 4 anos, ainda não vi curso de tecnólogo - em geral 3 anos - com essa disciplina), e geralmente o que se aprende é a criar um compilador para uma linguagem já existente, e não desenvolver a linguagem propriamente dita (apesar de que são visto coisas como alfabeto e linguagens; gramáticas; automatos finitos e linguagens regulares; etc.). Já vi o caso de um professor que já tinha desenvolvildo uma linguagem e o que os alunos fizeram foi criar um compilador para esta linguagem, mas claro que isso vai variar de uma instituição para outra.
    Isso realmente varia de cada instituição. Na minha, tivemos que fazer uma máquina virtual com um compilador de assembly na disciplina mais básica sobre o assunto.

  5. #25
    eyglys
    Visitante

    Padrão vc tem razão

    Citação Postado originalmente por PiTsA
    no meu curso de Eng. da Computação eu tenho uma matéria "Tópicos de Computação I" onde basicamente é a matéria de compiladores.... tem muita, massss muita teoria por trás da criação de uma linguagem...

    coisas do tipo: Alfabeto, Linguagem e Gramática , Análie Léxica, Autômatos com Pilha, Análise Sintática, Máquinas de Turing, etc....
    Vc tem razão em dizer que por trás de uma linguagem existe Alfabeto, linguagem, semântica (análise sintática), etc (só deixaria a parte a máquina de Turing, pois é uma história bem longa, e só teria importância para intusiastas da computação).

    Foi levando em consideração esses tópicos, que eu falei no inicio de todas as msg, que era bastante importante saber lógica (entendam lógica, como um conjunto de regras, e toda uma teoria baseada em conjuntos ou não, para formar um raciocinio VÁLIDO).

  6. #26
    cag
    Visitante

    Padrão Como criar linguagem de programação

    Hoje em dia muda muito de uma faculdade para outra...

    Aqui na minha cidade o curso de engenharia elétrica tem uma matéria que ensina forth e assembly.

  7. #27

    Padrão Como criar linguagem de programação

    esse negócio de matéria + básica depende do curso.
    não são todos relacionados a informatica que tem isso no cronograma. processamento de dados e analise de sistemas não ensinam a criar linguagem. e é óbvio que em eng. da computação deve ter algo do tipo.

    ninguem daqui do fórum chegou a desenvolver alguma?

  8. #28

    Padrão Como criar linguagem de programação

    Natascha seguinte eu faço ciencias da computação e aqui eu tenho assembly, linguagens formais, e compiladores, a ideia é que apos isso voce tenha a base para montar sua propria linguagem, já que ja tem a ideia de como se cria um compilador ( passo essencial pra se ter uma linguagem) e de como fazer esse compilador passar informações para o sistema direto, alem do funcionamento das gramáticas que da a base teórica do compilador.

    Bom é isso, depois disso eh so o cara se esforçar que consegue definir um compilador e as estruturas da sua linguagem, mas o trabalho é mto grande para fazer a linguagem.

    falows

  9. #29

    Padrão Como criar linguagem de programação

    Citação Postado originalmente por natascha
    esse negócio de matéria + básica depende do curso.
    não são todos relacionados a informatica que tem isso no cronograma. processamento de dados e analise de sistemas não ensinam a criar linguagem. e é óbvio que em eng. da computação deve ter algo do tipo.

    ninguem daqui do fórum chegou a desenvolver alguma?
    Eu faço ciencias da computação e tive dois modulos de compiladores ... cheguei a desenvolver parte da linguagem que era o analizador sintatico .... mas após isso tem varias outras coisas que se deve abordar .... o lance que se é muito complicado desenvolver uma linguagem sózinho alem de levar muito tempo e ter pouco retorno ... ao menos que vc precise de uma nova linguagem para efetuar tais procedimentos ... ai sim se tem um objetivo e com certeza ela ira vingar ... mas no meio academico foi muito mais para conhecimento e teoria mesmo .

  10. #30
    helensurf
    Visitante

    Padrão Como criar linguagem de programação

    Eu fiz Tecnologia em Processamento de Dados e digo a mesma coisa que a Natascha... na minha faculdade aprendi Pascal, Java, Asp, Delphi e C++... agora ensinar a montar uma linguagem não...
    Interessante isso...
    E mesmo em outras faculdade não tinha visto a matéria compiladores :? ...

    Mas deve ser muito bacana... apesar de eu não gostar muito de programar...rsrsrs...

  11. #31

    Padrão Como criar linguagem de programação

    Citação Postado originalmente por smvda
    Citação Postado originalmente por natascha
    esse negócio de matéria + básica depende do curso.
    não são todos relacionados a informatica que tem isso no cronograma. processamento de dados e analise de sistemas não ensinam a criar linguagem. e é óbvio que em eng. da computação deve ter algo do tipo.

    ninguem daqui do fórum chegou a desenvolver alguma?
    Eu faço ciencias da computação e tive dois modulos de compiladores ... cheguei a desenvolver parte da linguagem que era o analizador sintatico .... mas após isso tem varias outras coisas que se deve abordar .... o lance que se é muito complicado desenvolver uma linguagem sózinho alem de levar muito tempo e ter pouco retorno ... ao menos que vc precise de uma nova linguagem para efetuar tais procedimentos ... ai sim se tem um objetivo e com certeza ela ira vingar ... mas no meio academico foi muito mais para conhecimento e teoria mesmo .

    Eh cara na minha facul tb tem de fazer um analisador so que o semantico se nao me engano .

    falows