Created
May 12, 2015 19:59
-
-
Save objmagic/e973b4f5f88fd23091e1 to your computer and use it in GitHub Desktop.
JavaScript code printing out "Hello World"
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Generated by js_of_ocaml 2.5 | |
| (function(G){"use strict";var | |
| n=1024,k=128,d="",s=" : file already exists",a=248,y="/",z="fd ";function | |
| Q(a,b){throw[0,a,b]}function | |
| T(a,b){if(b.repeat)return b.repeat(a);var | |
| c=d,e=0;if(a==0)return c;for(;;){if(a&1)c+=b;a>>=1;if(a==0)return c;b+=b;e++;if(e==9)b.slice(0,1)}}function | |
| $(a,b,c){var | |
| e=new | |
| Array(c);for(var | |
| d=0;d<c;d++)e[d]=a[b+d];return e}function | |
| w(a,b,c){var | |
| e=String.fromCharCode;if(b==0&&c<=4096&&c==a.length)return e.apply(null,a);var | |
| f=d;for(;0<c;b+=n,c-=n)f+=e.apply(null,$(a,b,Math.min(c,n)));return f}function | |
| I(a){if(a.t==2)a.c+=T(a.l-a.c.length,"\0");else | |
| a.c=w(a.c,0,a.c.length);a.t=0}function | |
| L(a){if(a.length<24){for(var | |
| b=0;b<a.length;b++)if(a.charCodeAt(b)>127)return false;return true}else | |
| return!/[^\x00-\x7f]/.test(a)}function | |
| Y(a){for(var | |
| l=d,e=d,h,g,i,b,c=0,j=a.length;c<j;c++){g=a.charCodeAt(c);if(g<k){for(var | |
| f=c+1;f<j&&(g=a.charCodeAt(f))<k;f++);if(f-c>512){e.substr(0,1);l+=e;e=d;l+=a.slice(c,f)}else | |
| e+=a.slice(c,f);if(f==j)break;c=f}b=1;if(++c<j&&((i=a.charCodeAt(c))&-64)==k){h=i+(g<<6);if(g<224){b=h-12416;if(b<k)b=1}else{b=2;if(++c<j&&((i=a.charCodeAt(c))&-64)==k){h=i+(h<<6);if(g<240){b=h-925824;if(b<2048||b>=55295&&b<57344)b=2}else{b=3;if(++c<j&&((i=a.charCodeAt(c))&-64)==k&&g<245){b=i-63447168+(h<<6);if(b<65536||b>1114111)b=3}}}}}if(b<4){c-=b;e+="\ufffd"}else | |
| if(b>65535)e+=String.fromCharCode(55232+(b>>10),56320+(b&1023));else | |
| e+=String.fromCharCode(b);if(e.length>n){e.substr(0,1);l+=e;e=d}}return l+e}function | |
| X(a){switch(a.t){case | |
| 9:return a.c;default:I(a);case | |
| 0:if(L(a.c)){a.t=9;return a.c}a.t=8;case | |
| 8:return Y(a.c)}}function | |
| i(a,b,c){this.t=a;this.c=b;this.l=c}i.prototype={toString:function(){return X(this)}};function | |
| c(a){return new | |
| i(0,a,a.length)}function | |
| F(a,b){Q(a,c(b))}var | |
| e=[0];function | |
| f(a){F(e[2],a)}function | |
| v(a){if(!a.opened)f("Cannot flush a closed channel");if(a.buffer==d)return 0;if(a.output)switch(a.output.length){case | |
| 2:a.output(a,a.buffer);break;default:a.output(a.buffer)}a.buffer=d;return 0}function | |
| B(a){F(e[4],a)}function | |
| j(a){if(a<0)B("String.create");return new | |
| i(a?2:9,d,a)}function | |
| g(a){this.data=a}g.prototype={truncate:function(){this.data=j(0)}};function | |
| l(a){return a.l}function | |
| E(a){a=a | |
| instanceof | |
| i?a.toString():a;f(a+": No such file or directory")}var | |
| J=y;function | |
| o(a){a=a | |
| instanceof | |
| i?a.toString():a;if(a.charCodeAt(0)!=47)a=J+a;var | |
| e=a.split(y),b=[];for(var | |
| c=0;c<e.length;c++)switch(e[c]){case"..":if(b.length>1)b.pop();break;case".":break;case"":if(b.length==0)b.push(d);break;default:b.push(e[c]);break}b.orig=a;return b}function | |
| h(){this.content={}}h.prototype={exists:function(a){return this.content[a]?1:0},mk:function(a,b){this.content[a]=b},get:function(a){return this.content[a]},list:function(){var | |
| a=[];for(var | |
| b | |
| in | |
| this.content)a.push(b);return a},remove:function(a){delete | |
| this.content[a]}};var | |
| q=new | |
| h();q.mk(d,new | |
| h());function | |
| u(a){var | |
| b=q;for(var | |
| c=0;c<a.length;c++){if(!(b.exists&&b.exists(a[c])))E(a.orig);b=b.get(a[c])}return b}function | |
| W(a){var | |
| c=o(a),b=u(c);return b | |
| instanceof | |
| h?1:0}function | |
| U(a){return new | |
| i(4,a,a.length)}function | |
| A(a){var | |
| c=new | |
| Array(a.l),e=a.c,d=e.length,b=0;for(;b<d;b++)c[b]=e.charCodeAt(b);for(d=a.l;b<d;b++)c[b]=0;a.c=c;a.t=4;return c}function | |
| aa(a){if(a.t!=4)A(a);return a.c}function | |
| K(a,b){var | |
| j=o(a),d=q;for(var | |
| k=0;k<j.length-1;k++){var | |
| e=j[k];if(!d.exists(e))d.mk(e,new | |
| h());d=d.get(e);if(!(d | |
| instanceof | |
| h))f(j.orig+s)}var | |
| e=j[j.length-1];if(d.exists(e))f(j.orig+s);if(b | |
| instanceof | |
| h)d.mk(e,b);else | |
| if(b | |
| instanceof | |
| g)d.mk(e,b);else | |
| if(b | |
| instanceof | |
| i)d.mk(e,new | |
| g(b));else | |
| if(b | |
| instanceof | |
| Array)d.mk(e,new | |
| g(U(b)));else | |
| if(b.toString)d.mk(e,new | |
| g(c(b.toString())));else | |
| B("caml_fs_register");return 0}function | |
| V(a){var | |
| b=q,d=o(a),e,f;for(var | |
| c=0;c<d.length;c++){if(b.auto){e=b.auto;f=c}if(!(b.exists&&b.exists(d[c])))return e?e(d,f):0;b=b.get(d[c])}return 1}function | |
| m(a,b,c){if(e.fds===undefined)e.fds=new | |
| Array();c=c?c:{};var | |
| d={};d.file=b;d.offset=c.append?l(b.data):0;d.flags=c;e.fds[a]=d;e.fd_last_idx=a;return a}function | |
| ab(a,b,c){var | |
| d={};while(b){switch(b[1]){case | |
| 0:d.rdonly=1;break;case | |
| 1:d.wronly=1;break;case | |
| 2:d.append=1;break;case | |
| 3:d.create=1;break;case | |
| 4:d.truncate=1;break;case | |
| 5:d.excl=1;break;case | |
| 6:d.binary=1;break;case | |
| 7:d.text=1;break;case | |
| 8:d.nonblock=1;break}b=b[2]}var | |
| h=a.toString(),k=o(a);if(d.rdonly&&d.wronly)f(h+" : flags Open_rdonly and Open_wronly are not compatible");if(d.text&&d.binary)f(h+" : flags Open_text and Open_binary are not compatible");if(V(a)){if(W(a))f(h+" : is a directory");if(d.create&&d.excl)f(h+s);var | |
| i=e.fd_last_idx?e.fd_last_idx:0,g=u(k);if(d.truncate)g.truncate();return m(i+1,g,d)}else | |
| if(d.create){var | |
| i=e.fd_last_idx?e.fd_last_idx:0;K(a,j(0));var | |
| g=u(k);return m(i+1,g,d)}else | |
| E(a)}m(0,new | |
| g(j(0)));m(1,new | |
| g(j(0)));m(2,new | |
| g(j(0)));function | |
| M(a){var | |
| b=e.fds[a];if(b.flags.wronly)f(z+a+" is writeonly");return{file:b.file,offset:b.offset,fd:a,opened:true}}function | |
| t(a,b,c,d,e){if(e==0)return 0;if(d==0&&(e>=c.l||c.t==2&&e>=c.c.length)){c.c=a.t==4?w(a.c,b,e):b==0&&a.c.length==e?a.c:a.c.substr(b,e);c.t=c.c.length==c.l?0:2}else | |
| if(c.t==2&&d==c.c.length){c.c+=a.t==4?w(a.c,b,e):b==0&&a.c.length==e?a.c:a.c.substr(b,e);c.t=c.c.length==c.l?0:2}else{if(c.t!=4)A(c);var | |
| g=a.c,h=c.c;if(a.t==4)for(var | |
| f=0;f<e;f++)h[d+f]=g[b+f];else{var | |
| i=Math.min(e,g.length-b);for(var | |
| f=0;f<i;f++)h[d+f]=g.charCodeAt(b+f);for(;f<e;f++)h[d+f]=0}}return 0}function | |
| Z(a){if(a.charCodeAt(a.length-1)==10)a=a.substr(0,a.length-1);var | |
| b=G.console;b&&b.error&&b.error(a)}function | |
| _(a){if(a.charCodeAt(a.length-1)==10)a=a.substr(0,a.length-1);var | |
| b=G.console;b&&b.log&&b.log(a)}var | |
| p=new | |
| Array();function | |
| S(a,b){var | |
| h=c(b),d=l(h),g=l(a.file.data),f=a.offset;if(f+d>=g){var | |
| e=j(f+d);t(a.file.data,0,e,0,g);t(h,0,e,f,d);a.file.data=e}a.offset+=d;return 0}function | |
| C(a){var | |
| b;switch(a){case | |
| 1:b=_;break;case | |
| 2:b=Z;break;default:b=S}var | |
| g=e.fds[a];if(g.flags.rdonly)f(z+a+" is readonly");var | |
| c={file:g.file,offset:g.offset,fd:a,opened:true,buffer:d,output:b};p[c.fd]=c;return c}function | |
| N(){var | |
| a=0;for(var | |
| b | |
| in | |
| p)if(p[b].opened)a=[0,p[b],a];return a}function | |
| D(a,b,c,d){if(!a.opened)f("Cannot output to a closed channel");var | |
| g;if(c==0&&l(b)==d)g=b;else{g=j(d);t(b,c,g,0,d)}var | |
| e=g.toString(),h=e.lastIndexOf("\n");if(h<0)a.buffer+=e;else{a.buffer+=e.substr(0,h+1);v(a);a.buffer+=e.substr(h+1)}return 0}function | |
| O(a,b){var | |
| d=c(String.fromCharCode(b));D(a,d,0,1);return 0}function | |
| b(a,b){e[a+1]=b}var | |
| P=0;function | |
| R(a){a[2]=P++;return a}var | |
| x=c("hello world");b(11,[a,c("Undefined_recursive_module"),-12]);b(10,[a,c("Assert_failure"),-11]);b(9,[a,c("Sys_blocked_io"),-10]);b(8,[a,c("Stack_overflow"),-9]);b(7,[a,c("Match_failure"),-8]);b(6,[a,c("Not_found"),-7]);b(5,[a,c("Division_by_zero"),-6]);b(4,[a,c("End_of_file"),-5]);b(3,[a,c("Invalid_argument"),-4]);b(2,[a,c("Failure"),-3]);b(1,[a,c("Sys_error"),-2]);b(0,[a,c("Out_of_memory"),-1]);R([a,c("Pervasives.Exit"),0]);M(0);var | |
| r=C(1);C(2);D(r,x,0,l(x));O(r,10);v(r);function | |
| H(a){var | |
| b=a;for(;;){if(b){var | |
| c=b[2],d=b[1];try{v(d)}catch(f){}var | |
| b=c;continue}return 0}}H(N(0));return}(function(){return this}())); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment