開発環境
- OS X El Capitan - Apple (OS)
- Emacs(Text Editor)
- Java (実行環境)
- Python 3.5(プログラミング言語)
コンピュータシステムの理論と実装 (Noam Nisan (著)、Shimon Schocken (著)、斎藤 康毅(翻訳)、オライリージャパン)の9章(高水準言語)、9.5(プロジェクト)を取り組んでみる。
9.5(プロジェクト)
コード(Emacs)
FirstProgram/HelloWorld.jack
class HelloWorld {
function void print() {
do Output.printString("Hello, Jack World!");
do Output.println();
return;
}
}
FirstProgram/FizzBuzz.jack
class FizzBuzz {
field int num;
constructor FizzBuzz new(int n) {
let num = n;
return this;
}
method void print() {
var int n;
var int r;
let n = 1;
while (n < (num + 1)) {
do Output.printInt(n);
let r = n - (15 * (n / 15));
if (r = 0) {
do Output.printString(":FizzBuzz");
} else {
let r = n - (3 * (n / 3));
if (r = 0) {
do Output.printString(":Fizz");
} else {
let r = n - (5 * (n / 5));
if (r = 0) {
do Output.printString(":Buzz");
}
}
}
do Output.println();
let n = n + 1;
}
return;
}
}
FirstProgram/Main.jack
class Main {
function void main() {
var FizzBuzz fb;
let fb = FizzBuzz.new(20);
do HelloWorld.print();
do fb.print();
return;
}
}
入出力結果(Terminal, IPython)
$ ./VMEmulator $ ./JackCompiler FirstProgram $
0 コメント:
コメントを投稿