nakata
nakat****@kamak*****
2008年 9月 18日 (木) 18:56:43 JST
越智さん もう一つ言い忘れていました. HIR で扱うデータ型のバイト数が標準のものと違う場合は, それも指定する必要があります. ーーーーーーーーーーーー そのデフォールトの 値は coins/MachineParam.java に記述されており, char: 1, float: 4, pointer: 4 short: 2, double: 8, address: 4 int: 4, long double: 8, offset: 4 long: 4, long long: 8 などとなっている(実際には SIZEOF_CHAR = 1 などと書かれている).ここで,offset は配列要素の添字の値のようにある番地からのオフセットとして表すものである. このデフォールト値と違うマシンの場合は,その違う定義をしたものを使う必要があ る.そのためには,たとえば coins/MachineParamXxx.java にそれを記述して, それを coins/MachineParam.java の代わりに使われるように coins/IoRoot.java のコンストラクタに else if (lTarget.equals("xxx")) { machineParam = new MachineParamXxx(this); } という行を追加する必要がある. ーーーーーーーーーーーー 以上のことは「コンパイラの基盤技術と実践」の 12. 3 HIR 用のマシン記述 に書いてあります. これらのことはCOINSのウェブドキュメントに追加するつもりです. At 8:58 PM +0900 08.9.17, 越智 哲也 wrote: >COINS開発グループの皆さん, >広島市立大学4年の越智と申します. > >COINSを用いて,現在自分の研究室で開発しているプロセッサ用の >コンパイラを作ろうとTMDの拡張を行っています. > >そこで質問なのですが,x86のマシン上で別のアーキテクチャ用の >実行コードを出力させたいと思っております.しかし,COINSのウェブドキュメ >ントを >一通り読みましたがやり方がわかりませんでした.どうすればできるのでしょうか? > >それと,もうひとつ質問があります./classes/coins/backend/gen/の下に新た >なプロセッサ用のTMDを作った後,それを反映させるのはどうすればよいので >しょうか? > >よろしくお願いします. > >-- >広島市立大学 >情報科学部 情報工学科 4年 >越智 哲也(Ochi Tetsuya) >E-Mail: tetu****@csys***** > >_______________________________________________ >Coins-compiler-users mailing list >Coins****@lists***** >http://lists.sourceforge.jp/mailman/listinfo/coins-compiler-users -- 中田育男 nakat****@kamak***** -------------- next part -------------- HTMLの添付ファイルを保管しました...Download