Bacharel
Compilador:Um compilador é um programa que converte uma linguagem de fácil escrita e leitura, para uma linguagem possa ser interpretada e executada pelas máquinas.
Conceito: Em geral, um compilador não produz diretamente o código demáquina mas sim um programa em linguagem simbólica (assembly) semanticamenteequivalente ao programa em linguagem de alto nível. O programa em linguagemsimbólica é então traduzido para o programa em linguagem de máquina através de montadores, Para desempenhar suas tarefas, um compilador deve executar duas atividadesbásicas. A primeira atividade é a análise do código fonte, onde a estrutura e osignificado do programa de alto nível são reconhecidos. A segunda atividade é asíntese, que traduz o programa a seu equivalente em linguagem simbólica.
Fases:Podem ser classificadas em análise e síntese. Na fase de análise, encontram-se as fases de análise léxica, análise sintática e análise semântica. Na fase de síntese encontram-se as fases de geração de código intermediário,otimização e geração de código. Adicionalmente as estas fases, existem ainda duas fases adicionais que interagem com todas as fases do compilador,o gerenciamento de tabelas e o tratamento de erros. A fase de análise léxicatem por objetivo ler o programa fonte e transformar seqüências de caracteres em uma representação interna, denominada itens léxicos. A saída é um fluxo do símbolo. As expressões regulares são usadas para definir o símbolo reconhecido por um varredor ou pelo analisador lexical.
Linguagem de programação:Existem dois tipos de linguagens de programação as de Baixo Nível são interpretadas diretamente pelo computador, tendo um resultado rápido, porém é muito difícilde se trabalhar com elas. Exemplos são a linguagem binária e a linguagem Assembly. As linguagens de Alto Nível são mais fáceis de se trabalhar e de entender, as ações são representadas por palavras de ordem (exemplo faça, imprima, etc). Elas não são