Page 3 sur 3

Re: [Mini-Challenge #4] : Quine

Message non luPosté: 21 Aoû 2014, 15:20
de Adriweb
Je viens de comprendre ta proposition... :D

Au début, j'avais cru que tu avais mis juste '1' comme source, d'où la différence avec l'erreur.
Mais la même erreur étant provoquée avec le texte complet, je suppose que c'est une entrée acceptée/acceptable :)

Bien "trouvé" !

Re: [Mini-Challenge #4] : Quine

Message non luPosté: 22 Aoû 2014, 12:35
de Adriweb
Anecdote : si on met juste un =, on obtient :
-- TI.SCRIPTAPP:1: unexpected symbol near '='

:P

Re: [Mini-Challenge #4] : Quine

Message non luPosté: 22 Aoû 2014, 16:41
de pierrotdu18
Code: Tout sélectionner
# ruby
l=92.chr;eval s="s=s.dump[r=1..-2].gsub(/("+l*4+"){4,}(?!\")/){|t|'\"+l*%d+\"'%(t
.size/2)};5.times{s=s.dump[r]};puts\"# python\\nprint(\\\"# perl\\\\nprint(\\\\\\
\"# lua"+l*4+"nprint("+l*7+"\"(* ocaml *)"+l*8+"nprint_endline"+l*15+"\"-- haskel
l"+l*16+"nimport Data.List;import Data.Bits;import Data.Char;main=putStrLn("+l*31
+"\"/* C */"+l*32+"n#include<stdio.h>"+l*32+"nint main(void){char*s[501]={"+l*31+
"\"++intercalate"+l*31+"\","+l*31+"\"(c(tail(init(show("+l*31+"\"/* Java */"+l*32
+"npublic class QuineRelay{public static void main(String[]a){String[]s={"+l*31+"
\"++intercalate"+l*31+"\","+l*31+"\"(c("+l*31+"\"brainfuck"+l*64+"n++++++++[>++++
<-]+++++++++>>++++++++++"+l*31+"\"++(concat(snd(mapAccumL h 2("+l*31+"\"110"+l*31
+"\"++g(length s)++"+l*31+"\"22111211100111112021111102011112120012"+l*31+"\"++co
ncatMap("+l*32+"c->let d=ord c in if d<11then"+l*31+"\"21002"+l*31+"\"else"+l*31+
"\"111"+l*31+"\"++g d++"+l*31+"\"22102"+l*31+"\")s++"+l*31+"\"2100211101012021122
2211211101000120211021120221102111000110120211202"+l*31+"\"))))))++"+l*31+"\","+l
*63+"\""+l*64+"n"+l*63+"\"};int i=0;for(;i<94;i++)System.out.print(s[i]);}}"+l*31
+"\")))))++"+l*31+"\",0};int i=0;for(;s[i];i++)printf("+l*63+"\"%s"+l*63+"\",s[i]
);puts("+l*63+"\""+l*63+"\");return 0;}"+l*31+"\");c s=map("+l*32+"s->"+l*31+"\""
+l*63+"\""+l*31+"\"++s++"+l*31+"\""+l*63+"\""+l*31+"\")(unfoldr t s);t[]=Nothing;
t s=Just(splitAt(if length s>w&&s!!w=='"+l*31+"\"'then 501else w)s);w=500;f 0=Not
hing;f x=Just((if x`mod`2>0then '0'else '1'),x`div`2);g x= reverse (unfoldr f x);
h p c=let d=ord c-48in(d,replicate(abs(p-d))(if d<p then '<'else '>')++"+l*31+"\"
."+l*31+"\");s="+l*31+"\"# ruby"+l*32+"n"+l*31+"\"++"+l*31+"\"l=92.chr;eval s=\"+
(z=l*31)+\"\\\"\"+s+z+\"\\\""+l*31+"\"++"+l*31+"\""+l*32+"n"+l*31+"\""+l*15+"\""+
l*7+"\")"+l*4+"n\\\\\\\")\\\")\"########### (c) Yusuke Endoh, 2009 ###########\n"


The Ruby code generates Python code, which generates Perl code, which generates Lua code, which generates OCaml code, which generates Haskell code, which generates C code, which generates Java code, which generates Brainfuck code, which generates Whitespace code, which generates Unlambda code, which generates the original Ruby code again.


:O

Re: [Mini-Challenge #4] : Quine

Message non luPosté: 22 Aoû 2014, 16:54
de Adriweb
Y'a des fous/génies, sur cette terre...

Re: [Mini-Challenge #4] : Quine

Message non luPosté: 22 Aoû 2014, 16:58
de pierrotdu18
Oui, là on peut vraiment parler de génie... :O

Re: [Mini-Challenge #4] : Quine

Message non luPosté: 22 Aoû 2014, 21:52
de technolapin
Je comprend absolument aucune ligne de ce code xD
Mais cela voudrais dire que l'on peut avoir java sur nspire? oO (avec le lagg, bien sûr)

Re: [Mini-Challenge #4] : Quine

Message non luPosté: 22 Aoû 2014, 22:54
de pierrotdu18
Il crée le code, il crée pas les interprétateurs :p