InstructionSource クラス

コンストラクター

InstructionSource()

メソッド

add_node

命令ソース グラフにノードを追加します。

add_root

ルート ノードを命令ソース グラフに追加します。

from_isa

ISA から InstructionSource グラフを構築します。

命令ソース グラフには、命令を生成した変換とアーキテクチャに接続するため、コンテキスト内の実績グラフよりも多くの情報が含まれています。

get

指定された命令 ID を持つ最初の命令ソース ルート ノードを取得します。 このようなノードが存在しない場合は、既定値を返します。

add_node

命令ソース グラフにノードを追加します。

add_node(instruction: Instruction, transform: ISATransform | Architecture | None, children: list[int]) -> int

パラメーター

名前 説明
instruction
必須
<xref:qdk.qre.Instruction>

このノードの命令。

transform
必須
<xref:Optional>[<xref:ISATransform | Architecture>]

命令を生成した変換。

children
必須

子ノードのインデックス。

返品

説明
int

新しく追加されたノードのインデックス。

add_root

ルート ノードを命令ソース グラフに追加します。

add_root(node_id: int) -> None

パラメーター

名前 説明
node_id
必須
int

ルートとして追加するノードのインデックス。

from_isa

ISA から InstructionSource グラフを構築します。

命令ソース グラフには、命令を生成した変換とアーキテクチャに接続するため、コンテキスト内の実績グラフよりも多くの情報が含まれています。

from_isa(ctx: ISAContext, isa: ISA) -> InstructionSource

パラメーター

名前 説明
ctx
必須

実績グラフを含む列挙コンテキスト。

isa
必須
ISA

ISA の命令は、ソース グラフのルート ノードとして機能します。

返品

説明

推定結果の命令ソース グラフ。

get

指定された命令 ID を持つ最初の命令ソース ルート ノードを取得します。 このようなノードが存在しない場合は、既定値を返します。

get(id: int, default: _InstructionSourceNodeReference | None = None) -> _InstructionSourceNodeReference | None

パラメーター

名前 説明
id
必須
int

検索する命令 ID。

default
<xref:Optional>[<xref:_InstructionSourceNodeReference>]

指定した ID を持つノードが見つからない場合に返す値。 既定値は None です。

規定値: None

返品

説明
Optional[<xref:_InstructionSourceNodeReference>]

指定された命令 ID を持つ最初の命令ソース ノード。そのようなノードが存在しない場合は既定値です。

属性

nodes

nodes: list[qdk.qre._instruction._InstructionSourceNode]

roots

roots: list[int]