Coolは、Classroom object Oriented Languageの略。
文字通り、教育用オブジェクト指向言語。
courseraで始まったCompilerの講義でつかう。この言語で、コンパイラの仕組みを学ぶ。
Linux Mintにインストールしたメモです。
環境
- Linux Mint 16
インストール
まずは、依存ライブラリをインストール。
sudo apt-get install flex bison build-essential csh openjdk-6-jdk libxaw7-dev
つづいて、Coolをインストール。
sudo mkdir /usr/class
sudo chown $USER /usr/class
cd /usr/class
wget https://spark-university.s3.amazonaws.com/stanford-compilers/vm/student-dist.tar.gz
tar -xf student-dist.tar.gz
ln -s /usr/class/cs143/cool ~/cool
最後にパスを通す。
export PATH=/usr/class/cs143/cool/bin:$PATH
Hello Cool
お決まりのHello Worldをしてみる。
といっても、/usr/class/cs143/examples/hello_world.cl にサンプルがある。
class Main inherits IO {
main(): SELF_TYPE {
out_string("Hello, World.\n")
};
};
コンパイルして実行。
$ cp /usr/class/cs143/examples/hello_world.cl .
$ coolc hello_world.cl
$ spim hello_world.s
SPIM Version 6.5 of January 4, 2003
Copyright 1990-2003 by James R. Larus (larus@cs.wisc.edu).
All Rights Reserved.
See the file README for a full copyright notice.
Loaded: /usr/class/cs143/cool/lib/trap.handler
Hello, World.
COOL program successfully executed
Stats -- #instructions : 152
#reads : 27 #writes 22 #branches 28 #other 75
Emacs mode
こんなのがあるらしい。未検証だけど、リンクだけはっておく。