Registro THPDFContentSyntaxNode
Representa un nodo compacto del árbol de sintaxis de flujos de contenido con preservación de tokens, con hijos enlazados y tramos 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 establecido |
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 | Número de nodos hijos directos |
FirstLexemeIndex | Primer lexema cubierto por el nodo en el array de lexemas |
LastLexemeIndex | Último lexema cubierto por el nodo |
OperatorLexemeIndex | Lexema que contiene el operador de un nodo de operación, -1 para las demás clases de nodo |
StartOfs | Offset de bytes donde empieza el tramo de fuente del nodo |
EndOfs | Offset de bytes justo después del tramo de fuente del nodo |
Notas de uso
- Los nodos de operación son dueños de 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 ortografía original, de modo que las ediciones siguen preservando los tokens
- Lea los nodos a través de
THPDFContentStreamAST.GetNodeen lugar de tocar directamente el array interno de nodos