La idea de hacer este programa surgió de algo parecido que ví en Internet hace ya bastante tiempo. En aquel caso creo que el programa funcionaba en C, Perl y Brainfuck. A mí como me tira más el Python, decidí hacer algo parecido pero utilizando Python, C y Brainfuck.
Aunque en un principio parezca imposible que un programa pueda funcionar en tres lenguajes tan diferentes, al ver el código fuente se encuentran en seguida los trucos básicos que he usado:
#define, los #ifdef y compañía para
"engañar" a C""") para "engañar"
a Python#), y para evitar que el resto del programa
interfiera con él, introduciendo una condición imposible que lo llevara hasta el finalY eso es todo...para los incrédulos, aquí teneis el código fuente:
#define es_C 1
#ifndef es_C
#>++++[<+++++++++++++++++++++++++>-]<[>>[-]>++++[<++++++++++++++++++>-]
#<.>+++++[<++++++++>-]<-.---.-----------.[-]>++++[<++++++++>-]<.>+++++++
#[<+++++++++++>-]<.++++++++.-------.----------.+++++++++++.[-]++++++++++.<<-]
#[-][
def principal():
return
def semicolon():
return
def print_s(s):
print s
def int_a():
return
#endif
#include <stdio.h>
#define principal() main(){
#define int_a() int a = 0;
#define semicolon() ;
#define pass }
#define print_s(x) printf("%s\n",x);
principal()
int_a()
a = 100
semicolon()
#ifndef es_C
"""
# "
#endif
while(a>0){
#ifndef es_C
"""
# "
#endif
#ifndef es_C
while(a > 0):
#endif
print_s("Hola mundo")
a-=1
semicolon()
pass
pass
#ifndef es_C
#]
#endif
| Volver a la página principal |