[Coins-compiler-users] COINSについて質問があります.

Back to archive index

Ikuo Nakata nakat****@kamak*****
2008年 9月 18日 (木) 07:28:36 JST


越智さん

>
> COINSを用いて,現在自分の研究室で開発しているプ 
> ロセッサ用の
> コンパイラを作ろうとTMDの拡張を行っています.
>
> そこで質問なのですが,x86のマシン上で別のアーキ 
> テクチャ用の
> 実行コードを出力させたいと思っております.しか 
> し,COINSのウェブドキュメ
> ントを
> 一通り読みましたがやり方がわかりませんでした. 
> どうすればできるのでしょうか?
>
> それと,もうひとつ質問があります./classes/coins/ 
> backend/gen/の下に新た
> なプロセッサ用のTMDを作った後,それを反映させる 
> のはどうすればよいので
> しょうか?


TMDの書き方については,
http://www.coins-project.org/
の「COINSの解説」の
「9.1 バックエンドの構成」
を見てください.

それだけでは分かりにくいかも知れませんので,
書くときには既にあるTMD,たとえばsparc.tmdやx86.tmdを 
見て
それのまねをすることから始めるといいと思います.

TMDを作った後,それを反映させる方法は「9.1 バック 
エンドの構成」
には書いてないですね.
その方法は
  情報処理学会誌連載「21世紀のコンパイラ道しる 
べ ‥ COINSをベースにして」
の中の
  森公一郎, 阿部正佳, 中田育男, 鈴木貢:
  「TMDによるコード生成-SPARC0を例題として」
  情報処理, Vol.47, No.7, pp.776-785 (Jul. 2006).
や
  中田育男, 渡邊坦, 佐々政孝, 滝本宗宏:,
  コンパイラの基盤技術と実践 − コンパイラ・ 
インフラストラクチャCOINSを用いて,
  朝倉書店 (2008年6月).
の
  「11.3 C0バックエンド用のSPARC0マシン記述」
などに書いてあります.
そこには次のように書かれています.

11. 3. 1 COINS へのマシン記述の組み込み

sparc0.tmd を COINS に組み込むためには,まず,sparc0.tmd  
を COINS の
src/coins/backend/gen/に入れ,そのディレクトリにある  
Makefile に sparc0.tmd
に関する行を書き込む必要がある(Makefile を見てそ 
こにあるものをまねすればよい.
書き込んだ形のものもhttp://www.coins-project.org/COINS-book/  
に置いてある).
次に,COINS のルートディレクトリで
  $ ./build.sh
を実行すると CodeGenerator_sparc0.java が生成され,それ 
が javac でコンパイル
される.それで組み込み完了である .

11. 3. 2 COINS での使い方

COINS に組み込んだ sparc0.tmd を使うには
  -coins:target=sparc0
というオプション指定をすればよい.これによって  
sparc0 マシンのコードが生成さ
れる.

中田 育男
nakat****@kamak*****



-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
Download 


Coins-compiler-users メーリングリストの案内
Back to archive index