CygwinでSpiderMonkeyをビルドしてJavaScript shellで1.7
SpiderMonkey Build Documentation - MDC
mkdir SpiderMonkey cd SpiderMonkey wget http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz tar zxvfp js-1.7.0.tar.gz
gZip、eXtract、Verbose、File、Permissionの略。
rarの使い方なんかより、tarの使い方を知ったほうが良いと思う。
cd js/src make -f Makefile.ref OS_ARCH=Linux make -f Makefile.ref OS_ARCH=Linux js
1回目のmakeで失敗するが、気にせず続けるとLinux_All_DBG.OBJディレクトリにjs.exeができる。
引数に-v 170を与えることでJavaScript 1.7が使えるようになる。
cd Linux_All_DBG.OBJ
js -v 170
js> var Accum = function(){ var i=0; while(1){ yield ++i; } };
js> var a = Accum();
js> a.next();
1
js> a.next();
2
js> a.next();
3
js> a.next();
4
js> a.next();
5
js> quit();
できあがり。
一応標準のテストもやってみる。
js ../perfect.js A number is 'perfect' if it is equal to the sum of its divisors (excluding itself). The perfect numbers up to 500 are: 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 That's all.
俗に言う「江夏の背番号」というやつです(違う