C → Brainfuck, 855 바이트
가독성을 높이기 위해 일부 줄 바꿈이 추가되었습니다. 소문자와 기호에 segfaults가 있습니다. 여기서 출력을 테스트 하십시오 .
#define p putchar
#define V(x) c=v[1][x]-65;
l[]={96,48,24,12,66,98,60,90,6,70,102,54,118,14,62,126},e[]={2863659686,
3937331886,1787332774,3937053358,4170115215,2291067023,1789692070,2863659690,
1646404134,1778384896,2864569258,4169697416,1145534458,1165457300,1789569702,
2291051182,1823124134,2863573678,1778804902,572662319,1789569706,648719018,
2943841348,2863033002,572680874,4164034831},a[]={36,36,24,34,30,26,29,36,20,20,
30,20,28,26,32,28,33,34,28,20,32,30,28,32,24,24},r,o,j,k,c,z;char*b[]={
"-[+>+<[+<]>]>+","-[+[>---<<]>+]>-","+[>+<+++++++]>",">+++[[-<]>>--]<",
"+[>+<+++]>----","+[>+<+++]>","-[+[+<]>>+]<+"};main(i,v)char**v;{for(;r<8;r++){
for(i=0;v[1][i];i++)for(o=0;o<8;o++){V(i)if((l[(e[c]>>(4*r))&15]>>o)&1){V(j)
if(k==a[c]){j++;k=0;}V(j)z=k-strlen(b[c/4]);if(z<0)p(b[c/4][k]);else{c=(c%4)-z;
!c?p(46):(c>0?p(43):p(62));}k++;}else p(32);}p(10);}}
예
터미널에서 훨씬 멋지게 보입니다.
$ ./art ABCDEFGHI
-[+> +<[+< ]>]> +.>>> >>>>>> >>>>>> >>>> >> -[ +>+<
[+ <] >] >+ +. >> >> >> >> >> >> >> >> >> >>
-[ +> +< [+ <] >] >+ ++ .> >> >> >> -[
+>+<[+ <]>]> ++ ++ .> >>>>> >>>>> >> >>>-[+ [>
---<<] >+]>- .> >> >> >>>>> >>>-[ +[ >-- -<<]>+ ]>
-+ .> >> >> >> >- [+ [> -- -< <] >+ ]> -+
+. >> >> >> >> >> -[ +[ >- -- << ]> +] >- ++
+. >> >>>>> >>>> >>>>> +[>+<+ ++ ++++ ]> .> >>>>
$ ./art JKLMNOPQR
+[ >+ <+ ++ ++ ++ ] > +.>> >>+[> +<++ +++++
]> ++ .> >> >>>>>> >> > >+ [> +< ++ ++ ++ +] >+
++ .> >> ++ + [[ - < ]> > -- ]< .> >> >> >> >> >>
>> +++ [[ - <] > > -- ] <+ .> >> >> >> >> >+ ++
[[ -<] >> - -] < + +. > >> >> >>>>> >> >> >+++[
[- <] >> -- ] < + ++ . >> >> >> >> >+ [> +<
++ +] >- -- -. > > > >> >> >> >> >> >>> >> +[
>+<+ ++ ]> ----+. > > > > >>>> >> >>>> >> >>
$ ./art STUVWXYZ
+[>+ <+++]> -- -- ++ .> > > >> >> >> >> +[>+<+
++ ]> -- -- ++ +. >> + [ >+ <+ ++ ]> .>
>> >> >> >> >> >> > > >> >> >> +[ >+
<+++ ]> +. >> >> >> > >> > >>>> >>>> +[
>+<+ ++ ]> ++ .> >> > >> > >>>> >> >>
+[ >+ <+ ++ ]> ++ + .> > >> >> >> >>
>> >> >> >> -[ +[+< ]>>+]< +. >> >> >>
>>>> -[ +[+< ]> >+ ]< ++ .> >> >>>>>>
그리고 마지막으로,
$ ./art UNCOPYRIGHTABLE
+[ >+ < + ++]> .>>> >>>>> >> >> >>>>> >>>> >+++ [[ -< ]>>--] <+.> >>>>> >> >-[+>+
<[ +< ]> ] >+ ++ .> >> >> >> >+ ++ [[ -< ]> >- -] <+ +. >> >> >> >> >> >> >>
>+ ++ [ [- < ]> >- -] <+ ++ .> >> >> >> >> -[ +[ +< ]> >+ ]< +. >> >> >>
>> >> + [> + <+ ++ ]> -- -- +.>> >> >> >> >> >>>>>> >> +[>+<+ +++++ +] >.>>>
>> -[ + [> - -- << ]> +]>-+ +. >>>>> >> >> >-[ +[>--- << ]>+]>- +++.> >> >>>>>
>> >> > >> > +[ >+ <+ ++ ]> -- -- ++ +. >> -[ +> +< [+ <] >] >+ .> >>
>> >> > >> >> >> >> >> >> >- [+ >+ <[ +< ]> ]> ++ .> >> >> >> >> >> >>
>>>> > > >+[> +<++ ++ ++ +] >+ ++.> >-[+ [> -- -< <] >+ ]>-.> >>>>>> >>>>>>