adlc コマンドにより、AD ファイルから C++ コードが生成される.
adlc は以下のようなクラスから構成される. (#Under Construction)
(なお, ADLParser クラスがパースした段階ではそれぞれの要素が ArchDesc クラス内に分類して納められている段階. main() 関数内でその後に呼び出される ArchDesc::generateMatchLists() 等の中で match rule から DFA 等を作る作業が行われている模様)
ADL ファイル中のそれぞれの要素は パースによって Form クラス(のそれぞれの要素が対応するサブクラス)のオブジェクトになり, ArchDesc オブジェクト内に格納されている.
OutputMap クラス(というか, そのサブクラス(?))は, 結果を cpp/hpp ファイルに書き出す際の補助クラス?
main() -> コマンドラインオプションの処理 -> ADLParser::parse() -> ArchDesc::generateMatchLists() -> ArchDesc::identify_unique_operands() -> ArchDesc::identify_cisc_spill_instructions() -> ArchDesc::identify_short_branches() -> ファイルへの出力処理
See: here for details
(#Under Construction)
(#Under Construction)
(#Under Construction)
(#Under Construction)
(#Under Construction)
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.