Читаем Системное программное обеспечение. Лабораторный практикум полностью

• способность исполнителя отвечать на вопросы по содержанию пояснительной записки и по сути работы.

Текст пояснительной записки должен удовлетворять требованиям ГОСТ и стандартов университета. Содержание пояснительной записки должно удовлетворять требованиям настоящего задания на выполнение курсовой работы.

Функциональность компилятора проверяется путем подачи на его вход простейших контрольных примеров (в том числе и примеров ошибочных входных программ). При этом полученная результирующая программа проверяется методом компиляции ее в системе программирования Delphi 5 с последующим выполнением. Результат выполнения сравнивается с подсчитанным вручную результатом выполнения контрольного примера.

Функциональность компилятора в первую очередь оценивается по заданным минимальным требованиям и по работоспособности компилятора (отсутствие «зависаний» и нерегламентированных сообщений об ошибках при любых входных данных).

Дополнительные бонусы при оценке компилятора могут быть получены за следующие расширения заданной минимальной функциональности:

• реализация дополнительных ключей и параметров управления работой компилятора;

• наличие у компилятора дополнительного интерактивного интерфейса с пользователем;

• эффективная («сокращенная») обработка логических операций и операций сравнения (метод ее реализации описан в примере выполнения лабораторной работы № 4 в части, посвященной описанию генератора кода и схем СУ-перевода);

• реализация дополнительных операторов и операций входного языка. В качестве наиболее очевидного расширения входного языка предлагается реализовать оператор выхода из цикла (break) и перехода к следующей итерации цикла (continue);

• дополнительный семантический контроль входной программы;

• любые дополнительные методы оптимизации результирующей программы (как машинно-независимые, так и машинно-зависимые);

• расширенная диагностика ошибок, генерация предупреждений по поводу операторов входного языка, вызывающих сомнение с точки зрения их семантики.

Не допускается реализовывать функциональность, предусмотренную другими вариантами курсовой работы, – такая функциональность рассматривается не как дополнительный бонус, а как недостаток компилятора.

Дополнительные бонусы не учитываются и не засчитываются, если не реализована минимальная функциональность компилятора, предусмотренная вариантом задания.

Способность исполнителя курсовой работы отвечать на вопросы по содержанию пояснительной записки и по сути работы проверяется в личной беседе с преподавателем при защите курсовой работы.

Рекомендации по выполнению работы

В любом случае при знакомстве с примером выполнения работы и при выполнении работы по своему заданию надо обратить внимание на следующие основные моменты:

1. Построение грамматики входного языка – это определяющий момент в курсовой работе. Правильно построенная грамматика существенно упростит выполнение работы, а ошибки, напротив, могут существенно увеличить трудоемкость последующих этапов. Рекомендуется, построив грамматику, сразу же проконсультироваться с преподавателем, чтобы исправить возможные ошибки на ранней стадии.

2. Выполняющий курсовую работу должен решить для себя, как он будет строить лексический и синтаксический анализаторы: самостоятельно (вручную) или автоматизированным методом (с использованием специализированного ПО – рекомендуются программы LEX и YACC). Автоматизированный метод проще и быстрее, но требует от автора работы времени на освоение специализированного программного обеспечения. Возможно сочетать оба метода: например, построить лексический анализатор с помощью программы LEX (она достаточно проста в использовании), а синтаксический анализатор – вручную. Рекомендации на этот счет каждый должен выбрать, оценив свои силы в возможности освоения нового программного обеспечения.

3. Создание лексического анализатора – это этап, не представляющий особой сложности, так как построение КА для лексического анализатора представляет собой полностью формализованный процесс (при выполнении которого в первую очередь важна внимательность). Но при выполнении этого этапа главная задача не в том, чтобы грамотно построить КА – в этом, чаще всего, нет проблем, – а в том, чтобы максимально эффективно разделить анализ, выполняемый лексическим анализатором, и анализ, выполняемый анализатором синтаксическим. Как правило, чем больше работы выполняет лексический анализатор, тем лучше. Уже построив грамматику языка, нужно иметь представление о том, какие элементы языка будут выделяться на этапе лексического анализа.

Перейти на страницу:

Похожие книги

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С

В книге последовательно рассматриваются все этапы создания встраиваемых систем на микроконтроллерах с применением современных технологий проектирования. Задумав эту книгу, авторы поставили перед собой задачу научить читателя искусству создания реальных устройств управления на однокристальных микроконтроллерах. Издание содержит материал, охватывающий все вопросы проектирования, включает множество заданий для самостоятельной работы, примеры программирования, примеры аппаратных решений и эксперименты по исследованию работы различных подсистем микроконтроллеров. Данная книга является прекрасным учебным пособием для студентов старших курсов технических университетов, которые предполагают связать свою профессиональную деятельность с проектированием и внедрением встраиваемых микропроцессорных систем. Книга также будет полезна разработчикам радиоэлектронной аппаратуры на микроконтроллерах.

Дэниэл Дж. Пак , Стивен Ф. Барретт

Программирование, программы, базы данных / Компьютерное «железо» / Программирование / Книги по IT
Секреты приложений Google
Секреты приложений Google

Даже продвинутые пользователи Интернета не подозревают о тех огромных возможностях, которые предоставляют сервисы Google. Автор рассказывает о таких «секретах» сервисов, которые просто немедленно хочется использовать! Создавать сайты и презентации, бродить по улочкам Парижа, изучать звездное небо – все это доступно каждому, кто сидит у экрана монитора и имеет доступ в Интернет. Книга научит вас работать с веб-приложениями и тысячекратно увеличить свои возможности с помощью новейших технологий. Она написана легким, доступным языком и не требует от читателя наличия каких-либо специальных знаний. Книга содержит множество примеров, иллюстраций и будет полезна всем, кто не стоит на месте и стремится сделать свою жизнь более насыщенной и интересной.

Денис Балуев , Денис Игоревич Балуев

Программирование, программы, базы данных / Интернет / Программное обеспечение / Книги по IT