Ly / > <> , 20 19 octets
"abc"&&ov
; oo<
Essayez-le avec> <>!
Essayez-le avec Ly!
Ces langues sont très similaires, car Ly est basé sur> <>. Cependant, Ly n'a pas d'exécution 2D et interprète &
différemment, ce dont j'ai profité ici.
Les deux langues commenceront en poussant abc
vers la pile.
Pour> <>, l' &
instruction déplace les valeurs dans les deux sens du registre. Deux de suite pousseront une valeur dans le registre puis la reprendront, essentiellement un NOP.
Pour Ly, &
est un modificateur qui fait qu'une instruction remplit sa fonction sur toute la pile.
o
signifie la même chose pour les deux langues, mais comme il est modifié par &
dans Ly, il imprimera la pile entière, en sortie abc
. Dans> <>, il sortira uniquement c
(car il est imprimé de haut en bas)
v
est un NOP dans Ly, qui l'ignore et passe directement à ;
, mettant fin à l'exécution. > <> le traitera plutôt comme un pointeur, envoyant l'IP vers le bas.
Il frappe ensuite une autre flèche, envoyant l'IP à gauche. Ici, il rencontre deux o
signes, en sortie b
et a
.
EDIT: enregistrement d'un octet (et correction>> du plantage)