THPDFContentSyntaxNode Record
以鏈結的子節點與詞素區間,表示保留 Token 的內容串流語法樹中的一個緊湊節點
宣告
THPDFContentSyntaxNode= record
Kind: THPDFContentSyntaxNodeKind;
ParentIndex: Integer;
FirstChildIndex: Integer;
LastChildIndex: Integer;
NextSiblingIndex: Integer;
ChildCount: Integer;
FirstLexemeIndex: Integer;
LastLexemeIndex: Integer;
OperatorLexemeIndex: Integer;
StartOfs: Integer;
EndOfs: Integer;
end;
單元
HPDFContentStream
欄位
| 欄位 | 用途 |
|---|---|
Kind | 節點類別:csnkRoot、csnkOperation、csnkOperand、csnkArray、csnkDictionary、csnkProcedure、csnkInlineImage 或 csnkMalformed |
ParentIndex | 父節點的索引,未設定父節點時為 -1 |
FirstChildIndex | 第一個子節點的索引,節點沒有子節點時為 -1 |
LastChildIndex | 最後一個子節點的索引 |
NextSiblingIndex | 下一個兄弟節點的索引,位於子節點清單結尾時為 -1 |
ChildCount | 直接子節點的數量 |
FirstLexemeIndex | 節點在詞素陣列中涵蓋的第一個詞素 |
LastLexemeIndex | 節點涵蓋的最後一個詞素 |
OperatorLexemeIndex | 持有運算節點之運算子的詞素,其他節點類別為 -1 |
StartOfs | 節點來源區間起始的位元組偏移 |
EndOfs | 節點來源區間結束後緊鄰的位元組偏移 |
使用說明
- 運算節點擁有自己的運算元,並透過
OperatorLexemeIndex另行標識運算子詞素 - 容器節點保留巢狀陣列、字典與程序的原始拼寫,不做正規化,因此編輯仍然保留 Token
- 請透過
THPDFContentStreamAST.GetNode讀取節點,不要直接碰觸內部節點陣列