A turing machine in 133 bytes of javascript
swizec.com
swizec.com
I left the two ;} because my syntax highlighter was yelling at me that I'm doing something ugly and I was inside the 140B limit anyway.
It stripped the space before the first { and between the "return" and "false".
False is represented as !1.
"(c)?foo:bar" is replaced by "c?foo:bar". Plus - semicolons are removed as you noticed.
But - really.. It's ugly enough as it is :)
e=0;while(d!=c)
for(e=0;d!=c;)function(a,b,c,d,e){for(e=0;d<c;)with(a[d][b[e]||"B"])b[e]=w,e+=m,d=n;return b}
Source: https://gist.github.com/1400509
function tm(I,t,e,s,i,c,k){for(i=0;s!=e;i+=k.m,s=k.n){k=I[s][(c=t[i])||"B"];if(!k)return k;t.splice(i,1,k.w)}return t}
You could actually save one more byte by changing the name of the function, but that would be cheating, right ? ;-)Edit, Refined it to get to 110:
function tm(I,t,e,s,i,c,k){for(i=0;s!=e;t[i]=k.w,i+=k.m,s=k.n){k=I[s][(c=t[i])||"B"];if(!k)return k;}return t}Not that these are all a waste of time or anything, you just need to remember not to take them too far.
This is just codegolfing.