Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсовик / Руководство оператора

.doc
Скачиваний:
19
Добавлен:
29.01.2015
Размер:
70.14 Кб
Скачать

3

КФБН.00000-01 34 01-1

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

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

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

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

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

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

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

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

  • Файл

    • Новый…

    • Открыть…

    • Сохранить…

    • Выход

  • Трансляция

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

  • Исполнить

  • Справка

  • Примеры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. Далее возможно объявление функций в следующем формате: “Function имя_функции (идентификатор [, идентификаторы] : тип параметров) : тип_результата; [Var идентификатор [, идентификаторы] : тип переменной;] Begin тело_подпрограммы End;.”

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

  5. После Var идет секция BeginEnd, в которой помещается код программы.

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

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

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

  9. Формат метки имеет вид:Label идентификатор:”

  10. Формат безусловного перехода имеет вид: Goto идентификатор_метки;”

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

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

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

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

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

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

    5. При объявлении метки способом, не предусмотренным ТЗ, появится сообщение “[Синтаксическая ошибка] Строка X : Неправильное объявление метки Y”, где Y – имя метки. Для устранения следует объявить метку по правилам в ТЗ.

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

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

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

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

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

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

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

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

    14. При обработке текста программы во многих местах ожидаются соответствующие ключевые слова, либо разделители, поэтому при отступлении от правил написания программы может наблюдаться следующая ошибка: “[Синтаксическая ошибка] Строка X : Ожидается Y, где Y – может быть “(,),:,;.Program, Begin, End”. Для устранения следует в соответствующем месте вставить требуемую часть конструкции.

    15. При перечислении аргументов функции несоответствующего типа или количества возникнет ошибка “[Синтаксическая ошибка] Строка X : Несоответствие аргументов вызываемой функции Y, для устранения которой следует исправить вызов функции таким образом, чтобы аргументы совпадали по количеству и типу с заявленными.

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

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

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

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

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

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