Record THPDFContentSyntaxNode
Representa un nodo compacto del árbol sintáctico de content streams que preserva tokens, con hijos enlazados y spans de lexemas
Declaración
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;
Unidad
HPDFContentStream
Campos
| Campo | Propósito |
|---|---|
Kind | Clase de nodo: csnkRoot, csnkOperation, csnkOperand, csnkArray, csnkDictionary, csnkProcedure, csnkInlineImage o csnkMalformed |
ParentIndex | Índice del nodo padre, -1 cuando no hay padre asignado |
FirstChildIndex | Índice del primer nodo hijo, -1 cuando el nodo no tiene hijos |
LastChildIndex | Índice del último nodo hijo |
NextSiblingIndex | Índice del siguiente hermano, -1 al final de una lista de hijos |
ChildCount | Cantidad de nodos hijos directos |
FirstLexemeIndex | Primer lexema que cubre el nodo en el array de lexemas |
LastLexemeIndex | Último lexema que cubre el nodo |
OperatorLexemeIndex | Lexema que contiene el operador de un nodo de operación, -1 para otros tipos de nodo |
StartOfs | Offset en bytes donde comienza el span de la fuente del nodo |
EndOfs | Offset en bytes justo después del span de la fuente del nodo |
Notas de uso
- Los nodos de operación poseen sus operandos e identifican el lexema del operador por separado mediante
OperatorLexemeIndex - Los nodos contenedor conservan los arrays, diccionarios y procedimientos anidados sin normalizar su escritura original, así que las ediciones siguen preservando tokens
- Lea los nodos mediante
THPDFContentStreamAST.GetNodeen lugar de tocar directamente el array interno de nodos