Pergunta

Pergunta: É um compilador de uma espécie de numeração de Gödel programa?

A wikipédia nos diz que um compilador é:"Em informática, um compilador é um programa de computador que traduz código de computador escrito em uma linguagem de programação (linguagem fonte) para outra língua (língua alvo)". https://en.wikipedia.org/wiki/Compiler

Também a wikipédia nos diz:"uma numeração de Gödel é uma função que atribui a cada símbolo e bem formado fórmula de alguns linguagem formal de um único número natural, chamado seu número de Gödel". https://en.wikipedia.org/wiki/G%C3%B6del_numbering

Trabalho feito:A minha intuição diz que sim.Aqui é a minha linha de pensamento:uma linguagem de programação é uma linguagem formal.Cada programa é bem formado fórmula e um compilador atribui a cada símbolo dessa fórmula para uma representação binária de um número que o computador pode ler.(detalhe:um computador é uma máquina de Turing universal, para que ele possa realizar aritmética)

Mas, eu não sei os detalhes de como compiladores de trabalho, então eu vim aqui para perguntar se meu raciocínio está correto.

Foi útil?

Solução

Não.Considere as seguintes duas funções C:

int f(int a) {
    return a * 2;
}

int g(int a) {
    return a + a;
}

Se estamos sendo um pouco liberal aqui, ambos são "bem-formado fórmula de alguns linguagem formal".Ainda assim, a maioria dos compiladores C com a otimização ativado irá compilar estas duas funções para exatamente o mesmo código.Isso viola a singularidade de uma numeração de Gödel.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a cs.stackexchange
scroll top