2011-02-26 13 views
25

Un profesor mío ha dicho que aceptará tareas en cualquier idioma que deseemos utilizar. Estoy en condiciones lo suficientemente buenas como para querer meterme con él un poco y enviar una tarea válida usando brainfuck, whitespace o algún lenguaje igualmente "útil".Compilador C a Brainfuck (por hostigar a un profesor)?

Tengo las fuentes C para algunas simples rutinas de análisis numérico, así como la salida compilada y los archivos de ensamblaje que generan.

¿Alguien sabe de un descompilador (o un traductor de brainfuck C) que podría darme algo parecido al "código fuente brainfuck"?

+4

Estoy completamente de acuerdo con belisarius, y no creo que convertir los recuentos de códigos generados por la máquina como hacer la tarea en cualquier idioma que desee utilizar. Te daría una mala calificación si fuera tu instructor. :-) –

+0

@Sevenless Es lo mismo. Solo incluya una versión comprimida del archivo fuente en la versión compilada y tendrá un lenguaje deseleccionable sobre la marcha. –

+3

Solo aprenda [APL] (http://en.wikipedia.org/wiki/APL_%28programming_language%29) o J :-) Después de todo, esos * son * idiomas "útiles". –

Respuesta

18

Simplemente use APL o J.

A diferencia de BF, en realidad fueron diseñados para servir a un propósito "útil" (y no "útil como en BF") y, sin embargo, pueden hacer que las entradas de código de golf de Perl parezcan novelas. (La dedicación y el entrenamiento mental para disfrutar estos idiomas actualmente es más que mis niveles de habilidad/esfuerzo.)

Si el objetivo es usar un lenguaje puramente esotérico, siempre he disfrutado de la apariencia de los programas Piet. Se ve más bonito y es realmente capaz de solve common CS homework problems. Siguiendo los enlaces, se mostrarán los "ensambladores Piet" y otras herramientas. Ganar.

Happy coding.

+4

Mira este http://www.matthias-ernst.eu/piet/ ... ¡un intérprete de BF en Piet! –

+1

@belisarius Bella arte - No soy capaz de comprender las mentes de otras personas :) –

+1

J es increíble. http://beust.com/weblog/2008/08/28/coding-challenge-wrap-up/ – JCasso

2

Una búsqueda rápida en Google muestra el (a?) Brainfuck site, que enlaza con un archive con "todo lo relacionado con Brainfuck". Dudo que haya un traductor de C -> brainfuck en ninguna parte, no creo que nadie vaya a invertir tanto tiempo.

7

Por lo que vale, acabo de escribir un ensamblador Brainfuck Assembler muy simple (inspirado en esta publicación SO actualmente), que ensambla código fuente legible (no C, simplemente algo simple y sin nombre) para BrainFuck. Las instrucciones de código fuente y compilación/uso se pueden encontrar aquí: BrainFuck Assembler.

Editar: El proyecto ha sido actualizado recientemente con un nuevo nombre: BrainFix.

+0

quería echar un vistazo, pero ... dada la disponibilidad actual de sourceforge, sugeriría duplicar tu trabajo en algún lugar otra cosa también –

Cuestiones relacionadas