Pergunta

Sabe -se que os modelos C ++ estão completos. Como tal, deve ser possível emitir um quine que seja essencialmente renderizado no momento da compilação. Alguém sabe se tal quine foi escrito ainda ou onde eu poderia encontrar um.

Foi útil?

Solução

Os modelos podem executar qualquer tipo de computação em elementos de dados inteiros, true. Mas eles não são tão bons em E/S.

Que forma a resposta deve levar? Um modelo que gera uma função que, quando executada, gera a fonte de Quine? Isso não é realmente um tempo de compilação. Um modelo que gera uma lista de caracteres de tempo de compilação (centenas ou milhares de aulas de comprimento) compondo fonte de Quine? Talvez isso seja melhor, mas você ainda precisa executar o programa para produzi -lo.

Além disso, os modelos são muito detalhados e, embora estejam completos, isso está apenas dentro de uma pequena restrição de memória garantido recomendado pelo padrão. Você só pode esperar tanta recursão, por exemplo, além do qual o programa é altamente específico do compilador. Pode ser impossível escrever um Quine "significativamente calculado" que se armazena em uma forma portátil.

Outras dicas

Os modelos têm apenas uma forma de saída direta - mensagens de erro/aviso. Como não há garantia sobre o formulário que eles tomam, você não pode escrever nada que certamente seja um Quine, e o que você escrever quase certamente terá outro texto intercalado com o código -fonte.

Com um compilador que incorpora a fonte na mensagem de erro, a obtenção de todas as saídas é fácil demais - apenas verifique se cada instrução contém um erro.

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