La idea original era hacer define de las letras "fonéticas" a su equivalente normal y despues unirlas, todo con el preprocesador, pero parece que este funciona al reves, primero cambia las funciones y después lo demás, ademas no se puede usar la recursividad (que un archivo se incluya a si mismo), porque cada nivel vuelve a ver el archivo original. Así que habrá que conformarse con esto, que es bastante menos elegante, pero enfin...
#include <stdio.h>
/* Une los identificadores */
#define _3(a,b,c) a ## b ## c
#define _4(a,b,c,d) a ## b ## c ## d
#define _6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f
#define indianovembertango int
#define mikealphaindianovember main
#define victoroscarindiadelta void
#define paparomeoindianovembertangofoxtrot printf
_3(india, november, tango) _4(mike, alpha, india, november) ( _4(victor, oscar, india, delta ) ){
_6(papa, romeo, india, november, tango, foxtrot)("Hotel, wishkey!\n"); // printf(...);
}
Hasta otra...
No hay comentarios:
Publicar un comentario