4. Сообщения оператору.
-
При несоблюдении грамматики языка должны выдаваться сообщения об ошибках, записываться в поле вывода ошибок и вызывать (при выделении) подсвечивание строки, где они были найдены.
-
При отсутствии текста, подлежащего трансляции, будет выведено сообщение “[Синтаксическая ошибка] Строка X : Неожиданный конец файла”, где Х – номер строки с ошибкой, для устранения которой следует ввести код программы в окно ввода.
-
При использовании в тексте программы (исключая комментарии) пользователем символов, не оговоренных в ТЗ, будет выведено сообщение типа “[Лексическая ошибка] Строка X: Недопустимый символ”, где Х – номер строки с ошибкой. Для устранения следует просмотреть строку и удалить из нее недопустимые алфавитом символы.
-
При использовании в тексте программы пользователем идентификаторов, не соответствующих требованиям ТЗ, возникнет ошибка “[Лексическая ошибка] Строка X : Y - недопустимое имя идентификатора”, где Y – имя идентификатора. Для устранения следует найти и удалить/изменить неверные идентификаторы.
-
При объявлении метки способом, не предусмотренным ТЗ, появится сообщение “[Синтаксическая ошибка] Строка X : Неправильное объявление метки Y”, где Y – имя метки. Для устранения следует объявить метку по правилам в ТЗ.
-
При повторном объявлении метки появится ошибка “[Синтаксическая ошибка] Строка X : Повторное определение метки Y”, где Y – имя этой метки. Для устранения следует изменить имя объявляемой метки.
-
При попытке перейти на необъявленную метку возникнет сообщение “[Синтаксическая ошибка] Строка X : Использование необъявленной метки Y”, где Y – имя необъявленной метки. Для устранения ошибки требуется определить метку.
-
При попытке использования необъявленного идентификатора возникнет ошибка “[Синтаксическая ошибка] Строка X : Необъявленный идентификатор”, для устранения необходимо объявить идентификатор.
-
При повторном объявлении идентификатора возникнет ошибка вида “[Синтаксическая ошибка] Строка X : повторное объявление идентификатора Y ”, для устранения которой требуется переименовать одну из переменных.
-
При использовании в арифметических выражениях операндов разного типа может возникнуть целый ряд ошибок вида “[Синтаксическая ошибка] Строка X : Разные типы операндов у операции Y”, где Y – одна из поддерживаемых операций (+,–,*,/). Для устранения требуется привести переменные к соответствующему типу.
-
Отсутствие идентификатора в левой части присваивания приведет к ошибке типа “[Синтаксическая ошибка] Строка X : Ожидается идентификатор в левой части присваивания”, для устранения которой следует поместить идентификатор слева от оператора присваивания.
-
Аналогично, отсутствие в правой части присваивания выражения приведет к ошибке “[Синтаксическая ошибка] Строка X : Ожидается выражение в правой части присваивания", для устранения которой следует поместить какое-либо арифметическое выражение в правой части присваивания.
-
Если типы выражений по обе стороны от знака присваивания различны, то возникнет ошибка “[Синтаксическая ошибка] Строка X : Присваиваемое значение не соответствует по типу", для устранения которой следует изменить типы с той или другой стороны.
-
При обработке текста программы во многих местах ожидаются соответствующие ключевые слова, либо разделители, поэтому при отступлении от правил написания программы может наблюдаться следующая ошибка: “[Синтаксическая ошибка] Строка X : Ожидается Y”, где Y – может быть “(,),:,;.Program, Begin, End”. Для устранения следует в соответствующем месте вставить требуемую часть конструкции.
-
При перечислении аргументов функции несоответствующего типа или количества возникнет ошибка “[Синтаксическая ошибка] Строка X : Несоответствие аргументов вызываемой функции Y”, для устранения которой следует исправить вызов функции таким образом, чтобы аргументы совпадали по количеству и типу с заявленными.
-
При задании несуществующего типа переменной или функции возникнет ошибка “[Синтаксическая ошибка] Строка X : Y не является поддерживаемым типом", где Y - неподдерживаемый тип. Для устранения следует объявить тип переменной с помощью поддерживаемых типов.
-
При обнаружении непарных кавычек появится ошибка “[Синтаксическая ошибка] Строка X : Не закрыты кавычки”, для устранения которой следует закрыть кавычки.
-
При обнаружении непарных скобок комментария появится ошибка “[Синтаксическая ошибка] Строка X : Незакрытый комментарий”, для устранения которой следует закрыть комментарий.
-
При обнаружении лишнего ключевого слова End появится ошибка “[Синтаксическая ошибка] Строка X : Лишний End”, для устранения которой следует удалить лишний End.
-
При отсутствии в секции Var объявлений переменных появится ошибка “[Синтаксическая ошибка] Строка X : В секции Var отсутствуют переменные", для устранения которой следует либо удалить заголовок секции, либо объявить переменные в этой секции.
-
При соответствии текста программы грамматике языка в окне сообщений появится сообщение “Трансляция программы успешно завершена”.
