Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
Новосибирский государственный технический университет
Кафедра ВТ
Лабораторная работа №1
по дисциплине «Системное программное обеспечение»
«Лексика языков программирования. Регулярные выражения.»
Вариант: 1121414
Группа: АМ-709
Студент:
Максименко Д.С.
Преподаватель:
Малявко А.А.
Новосибирск, 2010
Освоение основных навыков работы с учебным пакетом программ автоматизации разработки трансляторов ВебТрансЛаб, изучение и освоение пользовательского интерфейса пакета и форматов файлов с исходными данными/результатами работы, изучение метаязыка регулярных выражений и технологии разработки систем правил определения лексики языков программирования.
Выполнение курсовой и лабораторных работ будет выполняться в пакете Вебтранслаб. Он представляет собой учебный пакет автоматизации проектирования трансляторов, реализованный по архитектуре "клиент-сервер". В качестве сервера взят Apache Tomcat. Приветственная страница пакета выглядит, как показано на рис. 1.
Рис 1. Страница приветствия.
В этом окне даётся возможность зарегистрироваться и одновременно указать свой рабочий каталог на сервере. Он уже должен быть создан администратором сайта в папке serverRoot\docroot\users\ и имя этого каталога вместе с номером учебной группы и фамилией пользователя (студента) должно быть занесено в файл userlist.txt, находящийся в корневом каталоге документов веб-сервера. В том случае, если в момент обработки запроса на начало работы с ВебТрансЛабом этого каталога не существует, пользователь будет считаться гостем системы и иметь доступ только к содержимому каталога serverRoot\docroot\users\guest.
После регистрации появляется главное рабочее окно (рис. 2).
Рис 2. Главное окно.
Подробно о каждом пункте меню (и не только о них) можно прочитать, нажав на кнопку «Помочь!». Вот информация о них.
Открыть – этот пункт доступен в том случае, если в каталоге пользователя есть хотя бы один файл с расширением .xml или .lsx (определение лексики и/или синтаксиса). Щелчок по этому пункту приводит к отображению списка таких файлов, при выборе одного из них файл открывается, совокупности правил определения лексики и/или синтаксиса извлекаются из соответствующих его разделов и отображаются в табличных формах нижнего фрейма. Открытие любого файла приводит к тому, что пункты меню "Построить", "Очистить" и "Сохранить как" становятся доступными.
Построить – этот пункт становится доступным только тогда, когда нижней фрейм основного окна содержит лексические и/или синтаксические правила (взятые из открытого файла, либо введенные вручную).
Щелчок по этому пункту приводит к отображению списка всех каталогов, содержащих шаблоны преобразования автоматов в программы их реализации на целевых языках программирования.
Выбор пользователем какого-либо шаблона приводит к отправке совокупностей правил определения лексики и/или синтаксиса из таблиц нижнего фрейма в веб-сервер. Отправленные данные сохраняются в каталоге пользователя в файле с именем lastRules.txt в виде стандартных Properties языка Java и обрабатываются преобразователем в лексический+синтаксический акцептор/анализатор.
О результатах этой обработки пользователь извещается путем выдачи одного из сообщений:
Не удалось ничего построить. Ваши определения лексики/синтаксиса неверны.
Удалось построить только лексический акцептор(анализатор).
Автоматы построены.
За исключением первого случая, когда ничего построить не удалось, преобразователь формирует результат работы (на основе выбранного шаблона и отправленной пользователем совокупности правил) в виде файла с расширением, взятым из названия шаблона и именем, составленным из названия исходного файла с правилами, символа подчеркивания и названия шаблона.
Проверить – этот пункт доступен в том случае, если в каталоге пользователя имеются файлы с расширением, совпадающим с языком реализации текущей версии Вебтранслаба (jsp или php). Щелчок по нему приводит к появлению на экране списка таких файлов. В том случае если в данной сессии выполнялось построение лексического (и/или синтаксического) акцептора/анализатора с использованием любого шаблона с именем ...to_jsp... (...to_php...), верхняя строка этого списка содержит текст: Последний построенный. Щелчок по выбранной строке вызывает открытие нового окна (окна проверки) для отображения результатов исполнения выбранного файла аппликейшн-сервером (или php-движком веб-сервера).
Показать - этот пункт становится доступным после построения лексического и/или синтаксического автоматов. Щелчок по этому пункту приводит к появлению списка свойств, отношений и множеств, которые могут быть показаны для последней обработанной построителем совокупности синтаксических правил - формальной грамматики. Состав списка зависит от того, удалось ли построить лексический автомат и удалось ли построить синтаксический автомат. Выбор любой строки из этого списка приводит к открытию нового окна браузера (или вкладки, в зависимости от того, какой браузер используется), содержащего соответствующую информацию. Используя пункт меню <Показать>, можно просмотреть (в отдельном окне или в отдельной вкладке, в зависимости от используемого браузера): список файлов с расширениями txt, xml, lsx, jsp, php, содержащихся в текущем каталоге пользователя; любой из этих файлов может быть открыт в отдельном окне браузера, отредактирован и сохранен в том же пользовательском каталоге;
управляющую таблицу последнего построенного лексического акцептора/анализатора;
список состояний и переходов (т.е. по сути - граф состояний и переходов) последнего построенного лексического акцептора/анализатора;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.