InstructionSource 類別
建構函式
InstructionSource()
方法
| add_node |
在指令來源圖中新增一個節點。 |
| add_root |
在指令來源圖中新增一個根節點。 |
| from_isa |
從指令集(ISA)構建指令源圖。 指令來源圖在上下文中包含比來源圖更多的資訊,因為它將指令與產生它們的轉換及架構連結起來。 |
| get |
取得第一個指令來源根節點,並取得給定的指令 ID。 若不存在此類節點,則回傳預設值。 |
add_node
在指令來源圖中新增一個節點。
add_node(instruction: Instruction, transform: ISATransform | Architecture | None, children: list[int]) -> int
參數
| 名稱 | Description |
|---|---|
|
instruction
必要
|
<xref:qdk.qre.Instruction>
這個節點的指令。 |
|
transform
必要
|
<xref:Optional>[<xref:ISATransform | Architecture>]
產生指令的轉換。 |
|
children
必要
|
子節點的索引。 |
傳回
| 類型 | Description |
|---|---|
|
新加入節點的索引。 |
add_root
from_isa
從指令集(ISA)構建指令源圖。
指令來源圖在上下文中包含比來源圖更多的資訊,因為它將指令與產生它們的轉換及架構連結起來。
from_isa(ctx: ISAContext, isa: ISA) -> InstructionSource
參數
| 名稱 | Description |
|---|---|
|
ctx
必要
|
包含來源圖的列舉上下文。 |
|
isa
必要
|
ISA 中的指令將作為來源圖中的根節點。 |
傳回
| 類型 | Description |
|---|---|
|
用於估計結果的指令來源圖。 |
get
取得第一個指令來源根節點,並取得給定的指令 ID。 若不存在此類節點,則回傳預設值。
get(id: int, default: _InstructionSourceNodeReference | None = None) -> _InstructionSourceNodeReference | None
參數
| 名稱 | Description |
|---|---|
|
id
必要
|
要搜尋的指令 ID。 |
|
default
|
<xref:Optional>[<xref:_InstructionSourceNodeReference>]
如果找不到具有相同 ID 的節點,則要回傳的值。 預設值為 None。 預設值: None
|
傳回
| 類型 | Description |
|---|---|
|
Optional[<xref:_InstructionSourceNodeReference>]
|
第一個指令來源節點,該指令 ID 為預設,若不存在則為預設。 |
屬性
nodes
nodes: list[qdk.qre._instruction._InstructionSourceNode]
roots
roots: list[int]