A Análise nos Formatadores de Texto
É útil considerar a entrada para um formatador de texto como especificando uma hierarquia de compartimentos, que são regiões retangulares a serem preenchidas por algum padrão de bits, representando pontos claros e escuros a serem impressos no dispositivo de saída.
Por exemplo, o sistema TEX(Knuth[1984a]) vê sua entrada dessa forma. Cada caractere, que não seja parte de um comando, representa um compartimento contendo o padrão de bits para aquele caractere, na fonte e tamanho apropriados.
Os caracteres consecutivos não separados por “espaços em branco”(espaços ou caracteres de avanço de linha) são agrupados em palavras, consistindo em uma sequência de compartimentos horizontalmente arranjados, mostrados esquematicamente na Fig. 1.6
O agrupamento de caracteres em palavras(ou comandos) é o aspecto linear ou léxico de análise do formatador de texto.
Os compartimentos, em TEX, podem ser construídos a partir de outros menores, através de combinações arbitrárias, horizontais e verticais. Por exemplo,
agrupa a lista de compartimentos pela justaposição dos mesmos horizontalmente, enquanto que operador \vbox pode agrupar uma lista de compartimentos por justaposição vertical. Dessa forma, se escrevemos em TEX
obteremos o arranjo de compartimentos mostrando na Fig. 1.7.
A determinação do arranjo hierárquico de compartimentos estabelecido pela entrada é parte da análise sintática em TEX.
Como outro exemplo, o pré-processador EQN para a matemática(Kernighan e Cherry[1975]) ou o processador matemático em TEX constroem expressões matemáticas a partir de operadores como sub e sup, significados subscritos e sobrescritos. Se EQN encontra um texto de entrada da forma
comprime o tamanho de box e o atrela a BOX, próximo ao canto inferior direito, como ilustrado na Fig. 1.8.
O operador sup, similarmente, atrela box ao canto superior direito.
Esses operadores podem ser aplicados recursivamente, de tal forma que o texto EQN
resulta em ai². * O agrupamento dos operadores sub e sup em tokens é parte da análise léxica do texto EQN. No entanto, é necessária a sua estrutura sintática para determinar o tamanho e a localização de um compartimento.
Deixe um comentário