Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Анализ в программах форматирования текста

Читайте также:
  1. I ПСИХОАНАЛИЗ
  2. I. Анализ современной политико-экономической обстановки.
  3. III. Анализ результатов психологического анализа 1 и 2 периодов деятельности привел к следующему пониманию обобщенной структуры состояния психологической готовности.
  4. VI ступень – сравнительный анализ
  5. А.3 Комментарии по заполнению таблиц отчета по анализу технической документации
  6. Акаев И. Г., Мотлох Н. Н. Биофизический анализ предпатологических предлейкозных состояний. М. , Наука, 1984, 288 с.
  7. Анализ абсолютных показателей финансовой устойчивости.

В программах форматирования текста удобно рассматривать входную информацию как иерархию блоков (boxes). Эти блоки являются прямоугольными областями битовых образов, представляющих светлые и темные пиксели на выводящем устройстве.

Так, например, система TЕX ([260]) работает именно таким образом. Каждый символ,

который не является частью команды, представляет собой блок, содержащий битовый образ этого символа в определенном шрифте требуемого размера. Последовательные символы, не отделенные "разделителями" (пробелами или символами новой строки), группируются в слова, состоящие из последовательностей горизонтальных блоков, как схематически показано на рис. 1.6. Группирование символов в слова (или команды) представляет собой линейный, или лексический аспект анализа программы форматиро­вания текста.

 

 

 


Рис. 1.6. Группировка символов и слов в блоки

 

В ТЕХ блоки могут быть построены из меньших блоков в различных горизонтальных и вертикальных сочетаниях. Например,

\hbox{ <список блоков> }

группирует список блоков, собранных по горизонтали. По вертикали блоки группируют­ся с помощью команды \vbox. Таким образом, следующая конструкция в ТЕХ

\hbox{\vbox{! 1} \vbox{@ 2}}

представляет набор блоков, показанный на рис. 1.7. Определение иерархического рас­положения блоков, заданного входным потоком, является частью синтаксического анализа в ТЕХ.


 

!
@
 
 

 


Рис. 1.7. Иерархия блоков в ТЕС

Еще одним примером могут послужить математические препроцессоры EQN ([246]) и Т^Х, создающие математические выражения из операторов типа sub и sup для нижних и верхних индексов. Если EQN встречает входной текст вида

BOX sub box

он изменяет размеры блока box и присоединяет к блоку BOX справа внизу, как показано на рис. 1.8. Оператор sup приведет к блоку такого же размера, но размещенному справа вверху.

BOX
box

 

 


Рис. 1.8. Построение нижнего индекса в математическом тексте

Такие операторы могут использоваться рекурсивно, т.е. EQN-текст

a sub { i sup 2}

дает в результате аi. Группировка операторов sub и sup в токены представляет собой часть лексического анализа текста EQN. Однако для определения размера и размещения блоков требуется синтаксическая структура текста.


Дата добавления: 2015-11-30; просмотров: 41 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.007 сек.)