Зворотний зв'язок

ПРОГРАМА складної структури з використанням меню

- повідомлення про помилки, при виявленні яких компілятор намагається їх виправити і будує об'єктний код, але його коректність малоймовірна і подальша робота з ним швидше усього не можлива;

3

- повідомлення про серйозні помилки, при наявності яких побудований компілятором об'єктний код явно некоректний і його подальше використання неможливо;

- повідомлення про помилки, виявлення яких привело до припинення синтаксичного контролю і побудови об'єктного коду.

Однак, практично будь-який компілятор пропускає деякі види синтаксичних помилок. Місце виявлення помилки може знаходитися далеко по тексту програми від місця істинної помилки, а текст повідомлення компілятора може не вказувати на істинну причину помилки. Одна синтаксична помилка може спричинити генерацію компілятором декількох повідомлень про помилки (наприклад, помилка в описі змінної приводить до появи повідомлення про помилку в кожному операторі програми, що використовує цю змінну).

Другою формою синтаксичного контролю може бути контроль структурованості програм, тобто перевірка виконання угод і обмежень структурного програмування. Прикладом подібної перевірки може бути виявлення в тексті програми ситуацій, коли цикл утвориться за допомогою оператора безумовного переходу (використання оператора GOTO для переходу вгору по тексту програми ). Для проведення контролю структурованості можуть бути створені спеціальні інструментальні засоби, а при їх відсутності ця форма статичного контролю може поєднуватися з візуальним контролем.

Третя форма статичного контролю - контроль правдоподібності програми, тобто виявлення в її тексті конструкцій, які хоч і синтаксично коректні, але швидше усього містять помилку або свідчать про неї. Основні неправдоподібні ситуації:

- використання в програмі неініціалізувати змінних (тобто змінних, що не набули початкового значення);

- наявність в програмі описів елементів, змінних, процедур, міток, файлів, надалі що не використовуються в її тексті;

- наявність в тексті програми фрагментів, що ніколи не виконуються;

- наявність в тексті програми змінних, ні разу що не використовуються для читання після привласнюючи їм значень;

- наявність в тексті програми явно нескінченних циклів;

Навіть якщо присутність в тексті програми неправдоподібних конструкцій не приводить до її неправильної роботи, виправлення цього фрагмента підвищить ясність і ефективність програми, т. е. благотворно позначиться на її якості.

Для можливості проведення контролю правдоподібності в повному об'ємі також повинні бути створені спеціальні інструментальні засоби, хоч ряд можливостей по контролю правдоподібності є в існуючих відлагоджувальний і звичайних компіляторах.

4Потрібно зазначити, що створення інструментальних засобів контролю структурованості і правдоподібності програм може бути істотне

спрощено при застосуванні наступних принципів:

1) проведення цих додаткових форм статичного контролю після завершення компіляції і тільки для синтаксично коректних програм;

2) максимальне використання результатів компіляції програми і, зокрема, інформації, що включається в лістинг компілятора;

3) замість повного синтаксичного розбору тексту програми, що перевіряється побудова для неї списку ідентифікаторів і списку операторів з вказівкою всіх їх необхідних ознак.


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат