Скачиваний:
23
Добавлен:
27.01.2015
Размер:
32.26 Кб
Скачать

3

КФБН ___________

1. НАЗНАЧЕНИЕ ПРОГРАММЫ.

Транслятор предназначен для транслирования программы, написанной на языке высокого уровня, в объектный псевдокод, с дальнейшей его интерпретацией и получением результата работы программы.

  1. 2. УСЛОВИЯ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ.

Для обеспечения нормального функционирования программы необходима IBM PC совместимая персональная вычислительная машина с параметрами, удовлетворяющими Windows XP и установленным .NET Framework.

  1. 3. РУКОВОДСТВО ОПЕРАТОРА.

3.1 Описание интерфейса

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

    2. Структура меню представлена следующим списком:

  • Файл

    • Новый…

    • Открыть…

    • Сохранить…

    • Выход

  • Трансляция

  • Получить псевдокод

  • Исполнить

  • Справка

  • Примеры

  • О программе…

Описание пунктов меню изложено ниже в соответствующих пунктах данного руководства.

    1. Все пункты меню (кроме “Файл→Выход” и “Справка→О программе…”) продублированы кнопками на панели управления с соответствующими значками на них. В дальнейшем выбор пункта меню предполагает возможную замену этого действия на нажатие дублирующей кнопки панели управления.

    2. Очистка текущего состояния (возврат к первоначальному) производится путем выбора пункта меню “Файл→Новый”. При этом произойдет очистка ввода программы и поля состояния.

    3. Загрузка текста программы производится путем выбора пункта меню “Файл→Открыть…”. При этом текст из выбранного в диалоговом окне файла будет отображен вместо текущего текста в поле ввода текста.

    4. Сохранение текста из выбранного поля производится путем выбора пункта меню “Файл→Сохранить…”. Сохранение текущей закладки будет произведено в выбранный файл.

    5. Выход из программы (помимо прочих средств окна Windows) определен посредством меню Файл→Выход.

    6. Трансляция исходного текста производится при выборе пункта меню “Транслятор→Получить псевдокод”, при этом в поле вывода ошибок могут быть выведены сведения об ошибках, а если ошибки отсутствуют, то появится сообщение об успехе операции.

    7. При выборе пункта меню “Транслятор→Исполнить” будет выполнена трансляция программы, выведены сообщения о возможных ошибках, либо об успехе операции, и при успешном результате начнется интерпретация промежуточного кода, результат которой будет виден в поле “Исполнение”.

    8. Пункт меню “Справка→О программе…” позволяет просмотреть сведения о разработчике.

    9. Для удобства написания программы производится подсветка синтаксиса.

    10. Синтаксис текста программы проверяется согласно пункту 4.1.7 ТЗ.

3.2 Описание синтаксиса входного языка

  1. Программа должна начинаться с объявления ее имени в виде ПРОГРАМ имя_программы”

  2. Все связки операндов должны отделяться друг от друга символом “;”

  3. Объявление переменных осуществляется после ключевого слова ВАР и имеет вид “имя_переменной_1, имя_переменной_2,… , имя_переменной_n : тип_переменной;”

  4. После ВАР идет секция , БЕГИНЕНД, в которой помещается код программы.

  5. Порядок секций должен соблюдаться.

  6. Повторное объявление идентификаторов запрещено;

  7. Операции записываются в общепринятой форме;

  8. Объявление цикла допустимо лишь в теле программы и подпрограммы;

  9. Структура объявления цикла ФОР должна иметь формат:

ФОР пар_цик :=нач_знач TO кон_знач ДУ БЕГИН оператор [,операторы] ЕНД;

  1. Для ввода значений используется конструкция “ВВОД(имя_переменной)”. Вывод осуществляет при помощи конструкции “ВЫВОД(имя_переменной | выражение)”.

4. СООБЩЕНИЯ ОПЕРАТОРУ.

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

    2. При отсутствии текста, подлежащего трансляции, будет выведено сообщение “[Синтаксическая ошибка] Строка X : Неожиданный конец файла”, где Х – номер строки с ошибкой, для устранения которой следует ввести код программы в окно ввода.

    3. При использовании в тексте программы (исключая комментарии) пользователем символов, не оговоренных в ТЗ, будет выведено сообщение типа “[Лексическая ошибка] Строка X: Недопустимый символ”, где Х – номер строки с ошибкой. Для устранения следует просмотреть строку и удалить из нее недопустимые алфавитом символы.

    4. При использовании в тексте программы пользователем идентификаторов, не соответствующих требованиям ТЗ, возникнет ошибка “[Лексическая ошибка] Строка X : Y - недопустимое имя идентификатора”, где Y – имя идентификатора. Для устранения следует найти и удалить/изменить неверные идентификаторы.

    5. При попытке использования необъявленного идентификатора возникнет ошибка “[Синтаксическая ошибка] Строка X : Необъявленный идентификатор”, для устранения необходимо объявить идентификатор.

    6. При повторном объявлении идентификатора возникнет ошибка вида “[Синтаксическая ошибка] Строка X : повторное объявление идентификатора Y ”, для устранения которой требуется переименовать одну из переменных.

    7. При использовании в арифметических выражениях операндов разного типа может возникнуть целый ряд ошибок вида “[Синтаксическая ошибка] Строка X : Разные типы операндов у операции Y”, где Y – одна из поддерживаемых операций (+,–,*,/). Для устранения требуется привести переменные к соответствующему типу.

    8. Отсутствие идентификатора в левой части присваивания приведет к ошибке типа “[Синтаксическая ошибка] Строка X : Ожидается идентификатор в левой части присваивания”, для устранения которой следует поместить идентификатор слева от оператора присваивания.

    9. Отсутствие в правой части присваивания выражения приведет к ошибке “[Синтаксическая ошибка] Строка X : Ожидается выражение в правой части присваивания", для устранения которой следует поместить какое-либо арифметическое выражение в правой части присваивания.

    10. Если типы выражений по обе стороны от знака присваивания различны, то возникнет ошибка “[Синтаксическая ошибка] Строка X : Присваиваемое значение не соответствует по типу", для устранения которой следует изменить типы с той или другой стороны.

    11. При обработке текста программы во многих местах ожидаются соответствующие ключевые слова, либо разделители, поэтому при отступлении от правил написания программы может наблюдаться следующая ошибка: “[Синтаксическая ошибка] Строка X : Ожидается Y, где Y – может быть “(,),:,;.ПРОГРАМ, БЕГИН, ЕНД, ТО, ДУ”. Для устранения следует в соответствующем месте вставить требуемую часть конструкции.

    12. При задании несуществующего типа переменной возникнет ошибка “[Синтаксическая ошибка] Строка X : Y не является поддерживаемым типом", где Y - неподдерживаемый тип. Для устранения следует объявить тип переменной с помощью поддерживаемых типов.

    13. При обнаружении непарных кавычек появится ошибка “[Синтаксическая ошибка] Строка X : Не закрыты кавычки”, для устранения которой следует закрыть кавычки.

    14. При обнаружении непарных скобок комментария появится ошибка “[Синтаксическая ошибка] Строка X : Незакрытый комментарий”, для устранения которой следует закрыть комментарий.

    15. При обнаружении лишнего ключевого слова ЕНД появится ошибка “[Синтаксическая ошибка] Строка X : Лишний ЕНД”, для устранения которой следует удалить лишний ЕНД.

    16. При отсутствии в секции ВАР объявлений переменных появится ошибка “[Синтаксическая ошибка] Строка X : В секции ВАР отсутствуют переменные", для устранения которой следует либо удалить заголовок секции, либо объявить переменные в этой секции.

    17. При соответствии текста программы грамматике языка в окне сообщений появится сообщение “Трансляция программы успешно завершена”.

Соседние файлы в папке Kurs_1