Su tarea es escribir un programa que genere su propio código fuente a la inversa. Sin embargo, cuando se ejecuta el código invertido, debería generar el código fuente, orientado en la dirección correcta.
Ejemplo
Digamos que su programa es abc. Cuando se ejecuta, debería salir cba. cba, cuando se ejecuta, debería salir abc.
Reglas
Su programa debe seguir todas las reglas de una quine adecuada (excepto la salida del código fuente). Los palíndromos no están permitidos.
Nota aleatoria: soy consciente de esto, pero creo que este desafío es diferente porque el código transformado debe tener las mismas propiedades.

Respuestas:
RProgN , 3 bytes
Gracias a @MartinEnder por recordarme esta respuesta .
Pruébalo en línea!
Cómo funciona
Esto explota una falla potencial en nuestra definición de quine adecuada :
Ese es obviamente el caso aquí, ya que la salida es el reverso del código y el código no es un palíndromo.
RProgN - notación de programador inverso - utiliza una pila LIFO e imprime los elementos en el orden en que aparecen. Los dos tokens 1 y 2 , separados por espacios y / o nuevas líneas, aparecen en orden inverso y se imprimen separados por una nueva línea.
Esto imprime el programa invertido
que, a su vez, imprime el original.
! enilno ti yrT
fuente
1\n1, en el que los dos1s se codifican entre sí; posiblemente sea una quine adecuada pero no una quine inversa adecuada.)Befunge-98 , 33 bytes
Pruébalo en línea!
fuente
#para hacer su encabezado. También vaya a Tryitonline.net y obtenga un intérprete en líneagno estaba permitido en Befunge quines, ya que lee la fuente del programa directamente de la memoria.Fisión 2 , 10 bytes
Pruébalo en línea!
Esto imprime:
Pruébalo en línea!
Y viceversa.
Explicación
Esta es una modificación de la quine inversa . Está trabajando para nuestra ventaja aquí, que
!se utiliza para imprimir y también está a solo un punto de código de la cita". Eso hace que sea más fácil hacer que la sección de impresión de cotizaciones sea palindrómica (la'!+!'). Comencemos con el primer código:Este programa tiene dos puntos de entrada en la
Ls, cada uno de los cuales crea un átomo a la izquierda. Sin embargo, el correcto golpea inmediatamente al;que lo destruye. El izquierdo ingresa al modo de cadena y se envuelve hasta el final, de modo que imprime el código completo (excepto el") de atrás hacia adelante. Eso ya nos da_'!+!'L;L. Todo lo que queda es imprimir el"._puede ignorarse,'!establece la masa del átomo en 33 (el punto de código de!), la+incrementa"e!imprime. Esa es toda la salida hecha. Los'Lconjuntos de la masa átomos hasta el punto de códigoL, pero eso es irrelevante.;destruye este átomo también y como no quedan átomos, el programa termina.Ahora al revés:
Nuevamente, tenemos dos puntos de entrada, pero un átomo se destruye inmediatamente. Esta vez
!+!', primero nos movemos por la sección, así que comenzamos imprimiendo una cotización. El'_es de nuevo irrelevante, pero necesitamos el_(o algún otro personaje inútil) aquí para evitar'escapar del". El átomo se envuelve hasta el final, atraviesa el código fuente una vez en modo de cadena para imprimir el resto del programa en reversa,Lluego se ignora y;destruye el átomo y termina el programa.fuente