あと、thincaさんのは
-e
オプションで動かした時にconsole.log()
が無いのでエラー出る事もあって、ちょっとしたスクリプトを書くのに困ってました。で、v8のソースリポジトリに含まれるシェルd8を使ってバッチファイルから呼び出して...ってやればうまく行くんじゃね?オレ天才!とか考えながら進めていったらd8では標準入力が使えないのもあって断念。
あと、この手のは
coffee-script.js
を一緒に持って歩く必要があって、なんか僕の趣味に合わなかったので(どんな趣味だよ)、実行モジュール1個だけで動いて、LinuxでもWindowsでも動いて、極力node(v8)と挙動の近い物が欲しくなった。こうなれば...と思ってv8使ってC++だけで書いてみた。
mattn/coffee-script-v8 - GitHub
CoffeeScript compiler/runner
https://github.com/mattn/coffee-script-v8
coffee-script.js
のコードはソース埋め込みなので、実行モジュール1つあれば動きます。v8は普通にコンパイルするとスタティックリンクなので、実行モジュールだけの依存になります。
Windowsだとコンパイルは
g++ -o coffee coffee.cc -lv8 -lwinmm -lws2_32
こんな感じ。他の環境だと
g++ -o coffee coffee.cc -lv8
で行けると思います。「いや、coffee-script.jsのバージョン上がったらどないすんねん!」って人は、どうぞ改造して使って下さい!