I made this script in about an hour so it's a little messy. I realized after making it that it really has no purpose. So I figured I would share it with you all. Hope you enjoy.
If you don't know what brainfuck is, this link is helpful.
http://en.wikipedia.org/wiki/Brainfuck
In basic terms, it's a programming language with 8 operands. "<>+-.,[]"
Anyway, now to the good stuff!
Brainfuck.lsl
CODE
rotation p0;rotation p1;rotation p2;rotation p3;rotation p4;rotation p5;rotation p6;rotation p7;rotation p8;rotation p9;rotation p10;rotation p11;rotation p12;rotation p13;rotation p14;rotation p15;rotation p16;rotation p17;rotation p18;rotation p19;rotation p20;rotation p21;rotation p22;rotation p23;rotation p24;rotation p25;rotation p26;rotation p27;rotation p28;rotation p29;rotation p30;rotation p31;rotation p32;rotation p33;rotation p34;rotation p35;rotation p36;rotation p37;rotation p38;rotation p39;rotation p40;rotation p41;rotation p42;rotation p43;rotation p44;rotation p45;rotation p46;rotation p47;rotation p48;rotation p49;rotation p50;rotation p51;rotation p52;rotation p53;rotation p54;rotation p55;rotation p56;rotation p57;rotation p58;rotation p59;rotation p60;rotation p61;rotation p62;rotation p63;
rotation getp(integer x){if(x>31){if(x>47){if(x>55){if(x>59){if(x>61){if(x>62){return p63;}else{return p62;}}else{if(x>60){return p61;}else{return p60;}}}else{if(x>57){if(x>58){return p59;}else{return p58;}}else{if(x>56){return p57;}else{return p56;}}}}else{if(x>51){if(x>53){if(x>54){return p55;}else{return p54;}}else{if(x>52){return p53;}else{return p52;}}}else{if(x>49){if(x>50){return p51;}else{return p50;}}else{if(x>48){return p49;}else{return p48;}}}}}else{if(x>39){if(x>43){if(x>45){if(x>46){return p47;}else{return p46;}}else{if(x>44){return p45;}else{return p44;}}}else{if(x>41){if(x>42){return p43;}else{return p42;}}else{if(x>40){return p41;}else{return p40;}}}}else{if(x>35){if(x>37){if(x>38){return p39;}else{return p38;}}else{if(x>36){return p37;}else{return p36;}}}else{if(x>33){if(x>34){return p35;}else{return p34;}}else{if(x>32){return p33;}else{return p32;}}}}}}else{if(x>15){if(x>23){if(x>27){if(x>29){if(x>30){return p31;}else{return p30;}}else{if(x>28){return p29;}else{return p28;}}}else{if(x>25){if(x>26){return p27;}else{return p26;}}else{if(x>24){return p25;}else{return p24;}}}}else{if(x>19){if(x>21){if(x>22){return p23;}else{return p22;}}else{if(x>20){return p21;}else{return p20;}}}else{if(x>17){if(x>18){return p19;}else{return p18;}}else{if(x>16){return p17;}else{return p16;}}}}}else{if(x>7){if(x>11){if(x>13){if(x>14){return p15;}else{return p14;}}else{if(x>12){return p13;}else{return p12;}}}else{if(x>9){if(x>10){return p11;}else{return p10;}}else{if(x>8){return p9;}else{return p8;}}}}else{if(x>3){if(x>5){if(x>6){return p7;}else{return p6;}}else{if(x>4){return p5;}else{return p4;}}}else{if(x>1){if(x>2){return p3;}else{return p2;}}else{if(x>0){return p1;}else{return p0;}}}}}}}
setp(integer x,rotation n){if(x>31){if(x>47){if(x>55){if(x>59){if(x>61){if(x>62){p63=n;}else{p62=n;}}else{if(x>60){p61=n;}else{p60=n;}}}else{if(x>57){if(x>58){p59=n;}else{p58=n;}}else{if(x>56){p57=n;}else{p56=n;}}}}else{if(x>51){if(x>53){if(x>54){p55=n;}else{p54=n;}}else{if(x>52){p53=n;}else{p52=n;}}}else{if(x>49){if(x>50){p51=n;}else{p50=n;}}else{if(x>48){p49=n;}else{p48=n;}}}}}else{if(x>39){if(x>43){if(x>45){if(x>46){p47=n;}else{p46=n;}}else{if(x>44){p45=n;}else{p44=n;}}}else{if(x>41){if(x>42){p43=n;}else{p42=n;}}else{if(x>40){p41=n;}else{p40=n;}}}}else{if(x>35){if(x>37){if(x>38){p39=n;}else{p38=n;}}else{if(x>36){p37=n;}else{p36=n;}}}else{if(x>33){if(x>34){p35=n;}else{p34=n;}}else{if(x>32){p33=n;}else{p32=n;}}}}}}else{if(x>15){if(x>23){if(x>27){if(x>29){if(x>30){p31=n;}else{p30=n;}}else{if(x>28){p29=n;}else{p28=n;}}}else{if(x>25){if(x>26){p27=n;}else{p26=n;}}else{if(x>24){p25=n;}else{p24=n;}}}}else{if(x>19){if(x>21){if(x>22){p23=n;}else{p22=n;}}else{if(x>20){p21=n;}else{p20=n;}}}else{if(x>17){if(x>18){p19=n;}else{p18=n;}}else{if(x>16){p17=n;}else{p16=n;}}}}}else{if(x>7){if(x>11){if(x>13){if(x>14){p15=n;}else{p14=n;}}else{if(x>12){p13=n;}else{p12=n;}}}else{if(x>9){if(x>10){p11=n;}else{p10=n;}}else{if(x>8){p9=n;}else{p8=n;}}}}else{if(x>3){if(x>5){if(x>6){p7=n;}else{p6=n;}}else{if(x>4){p5=n;}else{p4=n;}}}else{if(x>1){if(x>2){p3=n;}else{p2=n;}}else{if(x>0){p1=n;}else{p0=n;}}}}}}}
integer get(integer x){rotation r=getp(x<<2);if((x=x&3)>1){if(x&1){return (integer)r.s;}else{return (integer)r.z;}}else{if(x){return (integer)r.y;}else{return (integer)r.x;}}}
set(integer x, integer y){integer m=(x<<2);rotation r=getp(m);if((x=x&3)>1){if(x&1){r.s=y;}else{r.z=y;}}else{if(x){r.y=y;}else{r.x=y;}}setp(m,r);}
integer p;
integer i;
integer A;
string out;
string ASCII=" ☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !'#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■";
list loops;
brainfuck(string c)
{
integer i; //index
string f; //function
integer l=llStringLength(c); //length
integer A;
string out;
while(i<l)
{
f=llGetSubString(c,i,i);
if(f==">")
{
set(p, A);
A=get((p=(p+1)&0xFF));
}
else if(f=="<")
{
set(p, A);
A=get((p=(p+255)&0xFF));
}
else if(f=="+") ++A;
else if(f=="-") --A;
else if(f==".") out+=llGetSubString(ASCII, A, A);
else if(f==",")
{
llSay(0, out);
out="";
llSetObjectDesc("");
llMessageLinked(LINK_THIS, 0, "", "");
while(llGetObjectDesc()==""){}
A=llSubStringIndex(ASCII, llGetObjectDesc());
}
else if(f=="[")
{
integer j = i+1;
integer k; //count
string Q;
while(j<l)
{
Q=llGetSubString(c,j,j);
if(Q=="[")++k;
if(Q=="]")
{
if(k)--k;
else
{
loops=+loops;
jump found;
}
}
++j;
}
llSay(0,"Error: No matching ]"
return;
@found;
if(!A) i=j;
}
else if(f=="]"
{
if(A) i=llList2Integer(loops, 0);
else loops = llDeleteSubList(loops, 0, 0);
}
++i;
}
}
default
{
touch_start(integer num)
{
brainfuck("++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.,"
}
}
Brainfuck_Input.lsl
CODE
integer handle;
default
{
link_message(integer sender, integer num, string msg, key id)
{
handle = llListen(0, "", llGetOwner(), "");
}
listen(integer chn, string name, key id, string msg)
{
llSetObjectDesc(llGetSubString(msg, 0,0));
llListenRemove(handle);
}
}
;