コンパイラ作成(17) 細かな修正
symlink
前回、いろいろなパターンでテストをしてて思ったんだけど、一々clang呼び出すのが面倒くさいよ。てことで楽ができるようにするよ。まずはsymlink。
~$ cd /usr/local/bin /usr/local/bin$ sudo ln -s /home/xxx/myc/myc.rb myc /usr/local/bin$
symlinkを張るのなんてめったにやらないからすぐにやり方忘れちゃうよ。
clangの自動実行
どうしようか悩んだけどmyc.rbの中に組み込んじゃった。
# アセンブル、リンクコマンド def asmcmd() if @needprint then "clang-5.0 -s "+@asmfname+" print.o -o "+@exefname else "clang-5.0 -s "+@asmfname+" -o "+@exefname end end
Parserクラスにヘルパーメソッドを追加した。思いっきしハードコーディング。それはもう清々しいくらいに。
fname = ARGV[0] parser = Parser.new(fname) parser.program system(parser.asmcmd)
コンパイル後にclangを実行するようsystemを追加。
動作チェック
動かしてみるよ。
~/myc$ myc i6.myc ~/myc$ ./i6 97 18048 ~/myc$
よしよし。これでちょっと楽になったよ。さてと式の解析を改良する作業に戻るか。