Выбрать главу

Анализ демонстрационный программы TCalc "Borland Inc."

Программа TCalc 1993 (Turbo Pascal 6.0) состоит из следующих файлов:

tcalc.pas — файл основной программы;

tcell.pas — файл работы с клетками;

tcellsp.pas — файл дополнений работы с клетками (изменение значений);

tchash.pas — файл дополнений работы с клетками (значения в клетках);

tcinput.pas — файл подпрограмм ввода данных с клавиатуры;

tclstr.pas — файл подпрограмм работы со строками;

tcmenu.pas — файл подпрограмм, обслуживающих систему меню;

tcparser.pas — файл интерпретатора арифметических выражений формул клеток;

tcrun.pas — файл инициализации и запуска основных объектов;

tcscreen.pas — файл подпрограмм работы с дисплеем;

tcsheet.pas — файл подпрограмм, обслуживающих действия, выбранных посредством меню;

tcutil.pas — файл вспомогательных подпрограмм;

mcmvsmem.asm — ассемблерный файл подпрограмм запоминания в оперативной памяти информации экрана, а также восстановления ранее сохраненной информации экрана.

Все файлы закодированы с соблюдением стандартов оформления.

Хотя фирма "Borland Inc." занимается разработкой компиляторов, файл mcparser.pas также является заимствованным из UNIX YACC utility и лишь частично модифицирован. Остальные файлы являются оригинальными.

Ассемблерный файл mcmvsmem.asm является искусственно добавленным. Цель его добавления — демонстрация возможности использования ассемблерных вставок. Результаты арифметического анализа текста программы представлены в табл. 8.2.

Таблица 8.2

Результаты анализа текста программы TCalc

Имя файла Всего строк Количество описательных операторов Комментарии Пустых строк Количество процедур Количество описательных операторов процедур Код
Всего Строк
Tcalc 21 2 9 3 5 1 3 8
Tcell 1962 490 206 20 153 46 152 1147
Tcellsp 228 39 24 5 18 6 25 141
Tchash 262 50 47 23 23 14 43 123
Tcinput 334 63 39 15 22 9 32 202
Tclstr 243 45 120 20 12 15 52 114
Tcmenu 234 48 40 20 21 22 66 79
Tcparser 677 73 29 5 17 9 64 518
Tcrun 1367 146 128 59 57 47 163 942
Tcscreen 523 215 92 37 16 8 96 159
Tcsheet 1722 240 170 40 44 32 101 1297
Tcutil 379 114 55 38 70 29 115 42
Итого: 7952 1525 959 285 458 238 912 4772
20,3% 3,8% 12,2% 63,7%