Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР_2_2012.docx
Скачиваний:
64
Добавлен:
17.04.2015
Размер:
690.6 Кб
Скачать

2.1.3.3. Технология Parser

Технология Parser была разработана в Студии Web-дизайна Артемия Лебедева в 1997 году. Parser автоматизирует создание и обновление сайтов, страницы которых схожи по оформлению, содержанию или структуре. Применение технологии Parser позволяет HTML-программисту единожды описать повторяющиеся элементы информационного наполнения и разметки страниц, а затем ссылаться на них в коде каждой страницы сайта. Средствами Parser можно дать описание структуры, а затем использовать его для формирования единообразно устроенных страниц. При этом если мы изменяем описание структуры или элемента разметки, то в дальнейшем все страницы генерируются с учетом внесенных корректив.

Parser пригодна для решения большинства задач, которые обычно требуют программирования CGI-скриптов, например, для формирования страниц с результатами запросов к реляционным базам данных. В технологии Parser предусмотрены средства для работы с полями форм, строками запроса, переменными окружения Web-сервера.

Интерпретатор Parser устанавливают на сервере. Web-сервер конфигурируют таким образом, что HTML-файлы до пересылки их браузеру обрабатываются модулем Parser. Если в тексте файла обнаруживаются Parser операторы, модуль выполняет их разбор и заменяет вычисленными значениями. Например, вызов оператора ^uri[]будет заменен адресом обрабатываемой страницы, вызов^date[]— текущей датой, вызов^macro[value]— результатом разбора макросаvalue. Остальной текст, в том числе тэги языка HTML, остается без изменений.

Технология Parser строится на базе нескольких конструкций. К ним относятся операторы, макросы и некоторые другие конструкции. Оператором называется конструкция следующего вида:

^имя_оператора[аргумент1;аргумент2;...аргументN]

В качестве значений аргументов в оператор могут быть подставлены произвольные фрагменты HTML-кода, в том числе занимающие в файле несколько строк. Если аргументы оператора заключают в себе другие операторы, Parser сначала вычисляет их значения и подставляет в аргументы, которые затем использует при вычислении значения оператора. Глубина вложения операторов при этом не ограничена.

Некоторые операторы не имеют аргументов. Набор доступных операторов определяется используемой версией модуля Parser. При обработке файла модулем оператор заменяется фрагментом, который получается в результате его разбора. Более подробная информация по этой технологии может быть найдена на [8].

Необходимо отметить, что, хотя Parser и содержит ряд конструкций, позволяющих управлять ходом интерпретации шаблона документа, функциональные характеристики этой технологии весьма ограничены. Хотя в пользовательской документации [8] и сказано, что использование предлагаемых этим «языком» “возможностей не требует высокой квалификации в области программирования”, по сути, само написание и применение операторов и макросов этой технологии требует значительной подготовки. Из-за применения вложенности операторов и макросов синтаксис языка становится не читаем.

Функциональная схема данной технологии полностью аналогична схеме технологии PHP, за исключением того, что роль обработчика PHP играет обработчик инструкций Parser.

По мнению автора, применение технологии Parser на текущий момент наиболее оправдано для создания комплексов составных легко модифицирующихся Web-страниц. В случае необходимости создания интерактивных Web-документов Parser может быть заменена языком программирования PHP, обладающим более широкими возможностями, более легким и понятным синтаксисом.