Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи програмування Паскаль.docx
Скачиваний:
51
Добавлен:
12.05.2015
Размер:
511.7 Кб
Скачать

Додаток 2. Основні директиви компілятора Паскаля

{$A+} Включити/виключити вирівнювання за словами

{$B+} Включити/виключити повне обчислення булевых виразів

{$З MOVEABLE DEMANDLOAD DISCARDABLE}

Керування сегментом коду (тільки режими Windows і Protected):

MOVEABLE Система може змінити положення сегмента коду в пам'яті

FIXED Система не може змінити положення сегмента коду в пам'яті

PRELOAD Сегмента коду завантажується з початком виконання програми

DEMANDLOAD Сегмент коду завантажується тільки при обігу

PERMANENT Сегмент коду залишається в пам'яті після завантаження

DISCARDABLE Сегмент коду може бути вивантажений після обігу

{$D+} Включити/виключити отладочную інформацію

{$E+} Включити/виключити емуляцію співпроцесора дійсних чисел

{$F+} Включити/виключити Far-Виклики за замовчуванням

{$G Ім'я_модуля1, Ім'я_модуля2 ...}

Включити в проект зазначені модулі Unit (тільки режими Windows і Protected)

{$G+} Включити/виключити генерацію коду процесора 80286

{$I Ім'я_файлу} Включити вихідний текст файлу *.pas у програму

{$I+} Включити/виключити контроль операцій уведення-виведення

{$K+} Включити/виключити оптимізацію викликів підпрограм (тільки Windows)

{$L Ім'я_файлу} Включити файл *.obj у програму на етапі складання

{$L+} Включити/виключити генерацію Map-Файлу

{$M Стік, Хип-Мінімум, Хип-Максимум}

Указати розміри стека (1024-65520) і хипа (0-655360) для програми в байтах

{$N+} Включити/виключити підтримку співпроцесора 80x87

{$O+} Включити/виключити підтримку оверлеев

{$O Ім'я_модуля} Підключити оверлейный модуль (unit)

{$P+} Якщо включена, рядки "відкриті" ("закрити" для сумісності зі старими версіями)

{$Q+} Включити/виключити контроль переповнення

{$R+} Включити/виключити контроль переповнення

{$R Ім'я_файлу} Підключити файл ресурсів *.res (тільки Windows і Protected)

{$S Розмір} Указати розмір сегмента коду (тільки Windows і Protected)

{$S+} Включити/виключити перевірку переповнення стека

{$T+} Включити/виключити контроль типів покажчиків

{$V+} Включити/виключити строгий контроль довжини рядків

{$W+} Якщо включений, генеруються початковий і завершальний код для far-функцій і процедур

{$X+} Дозволити викликати функції як процедури

{$Y+} Якщо включена, до модуля додається таблиця перехресних посилань

Додаток 3. Основні повідомлення про помилки Паскаля

Повідомлення компілятора про синтаксичні помилки:

1 - вихід за межі пам'яті

2 - не зазначений ідентифікатор

3 - невідомий ідентифікатор

4 - повторний ідентифікатор

5 - синтаксична помилка

6 - помилка в дійсній константі

7 - помилка в целочисленной константі

8 - строкова константа перевищує розміри рядка

9 - занадто багато вкладених файлів

10 - неправильний кінець файлу

11 - рядок занадто довгий

12 - потрібен ідентифікатор типу

13 - занадто багато відкритих файлів

14 - невірне ім'я файлу

15 - файл не знайдений

16 - диск заповнений

17 - неправильна директива компілятора

18 - занадто багато файлів

19 - невизначений тип у визначенні посилання

20 - потрібний ідентифікатор змінної

21 - помилка у визначенні типу

22 - занадто більша структура

23 - базовий тип безлічі порушує границі

24 - компонентами файлу не можуть бути файли або об'єкти

25 - невірна довжина рядка

26 - невідповідність типів

27 - неправильний базовий тип відрізка типу

28 - нижня границя більше верхньої

29 - потрібний порядковий тип

30 - потрібна ціла константа

31 - потрібна константа

32 - потрібна ціла або дійсна константа

33 - потрібний ідентифікатор типу

34 - неправильний тип результату функції

35 - потрібний ідентифікатор мітки

36 - потрібний BEGIN

37 - потрібний END

38 - потрібно вирази типу Integer

39 - потрібно вирази типу, що перелічується

40 - потрібно вирази типу Boolean

41 - типи операндів не відповідають операторі

42 - помилка у вираженні

43 - невірне присвоювання

44 - потрібний ідентифікатор поля

45 - об'єктний файл занадто великої (більше 64 Кбайт)

46 - невизначена зовнішня процедура

47 - неправильний запис об'єктного файлу

48 - сегмент коду занадто великий (більше 65520 байт)

49 - сегмент даний занадто великий

50 - потрібний оператор DO

51 - невірне визначення PUBLIC

52 - неправильне визначення EXTRN

53 - занадто багато визначень типу EXTRN (більше 256)

54 - потрібно OF

55 - потрібно интерфейсная секція

56 - недійсне переміщуване посилання

57 - потрібно THEN

58 - потрібно TO або DOWNTO

59 - невизначений випереджальний опис

60 - занадто багато процедур (більше 512 в одному модулі)

61 - невірне перетворення типу

62 - розподіл на нуль

63 - невірний файловий тип

64 – неможливо прочитати або записати змінні даного типу

65 – потрібне використання змінної-покажчика

66 - потрібна строкова змінна

67 - потрібно вирази строкового типу

68 - програмний модуль не знайдений

69 - невідповідність часів програмних модулів

70 - невідповідність версій програмних модулів

71 - повторне ім'я програмного модуля

72 - помилка формату файлу програмного модуля

73 - потрібна секція реалізації

74 - типи констант і тип вирази оператора case не відповідають один одному

75 - потрібна змінна типу запис

76 - константа порушує границі

77 - потрібна файлова змінна

78 - потрібно вирази типу покажчик

79 - потрібно вирази типу real або integer

80 - мітка не перебуває усередині поточного блоку

81 - мітка вже визначена

82 - невизначена мітка в попередньому розділі операторів

83 - недійсний аргумент оператора @

84 - потрібно ключове слово UNIT

85 - потрібно вказати ";"

86 - потрібно вказати ":"

87 - потрібно вказати ","

88 - потрібно вказати "("

89 - потрібно вказати ")"

90 - потрібно вказати "="

91 - потрібно вказати ":="

92 - потрібно "[" або "(."

93 - потрібно "]" або ".)"

94 - потрібно "."

95 - потрібно ".."

96 - занадто багато змінних

97 - неправильна змінна циклу оператора FOR

98 - потрібна змінна цілого типу

99 - тут не допускаються файли

100 - невідповідність довжини строкової змінної або константи

101 - невірний порядок полів

102 - потрібна константа строкового типу

103 - потрібна змінна типу integer або real

104 - потрібна змінна типу, що перелічується

105 - помилка в операторі INLINE

106 - попереднє вирази повинне мати символьний тип

107 - занадто багато переміщуваних елементів

108 - недостатньо пам'яті для виконання програми

109 - немає можливості знайти файл .EXE

110 - модуль виконувати не можна

111 - компіляція перервана за допомогою клавіш Ctrl+Break

112 - константа оператора CASE перебуває поза границями

113 - помилка в операторі

114 - немає можливості викликати процедуру переривання

115 - для компіляції необхідна наявність співпроцесора 8087

116 - для компіляції необхідний режим 8087

117 - адреса призначення не знайдена

118 - у такій ситуації файли, що включаються, не допускаються

119 - помилка формату файлу .TPU

120 - потрібний NIL

121 - невірний квалификатор змінної

122 - недійсне посилання на змінну

123 - занадто багато символів (більше 64 Кбайт)

124 - занадто великий розділ операторів (більше 24 Кбайт)

125 - у модулі немає отладочной інформації

126 - файли повинні мати параметри VAR

127 - занадто багато умовних символів

128 - пропущена умовна директива

129 - пропущена директива ENDIF

130 - помилка в початкових умовних визначеннях

131 - заголовок не відповідає попередньому визначенню

132 - критична помилка диска

133 - не можна обчислити дане вирази

134 - некоректне завершення вирази

135 - невірний специфікатор формату

136 - неприпустиме непряме посилання

137 - тут не допускається використання структурної змінної

138 - не можна обчислити без блоку System

139 - доступ до даного символу отсутствует

140 - неприпустима операція із плаваючої коми

141 - не можна виконати компіляцію оверлеев на згадку

142 - повинна використовуватися змінна-процедура або функція

143 - неприпустиме посилання на процедуру або функцію

144 - цей модуль не може використовуватися в якості оверлейного

Повідомлення про помилки часу виконання програми:

1 - не знайдений файл

3 - не знайдений шлях

4 - занадто багато відкритих файлів

5 - відмовлене в доступі до файлу

6 - недоступний файловий канал

12 - недійсний код доступу до файлів

15 - неприпустимий номер дисководів

16 - не можна вилучити поточний каталог

17 - не можна при іменуванні вказувати різні дисководи

100 - помилка читання диска

101 - помилка запису на диск

102 - файлу не привласнене ім'я

103 - файл не відкритий

104 - файл не відкритий для введення

105 - файл не відкритий для виведення

106 - невірний числовий формат

150 - диск захищений від запису

151 - невідомий модуль

152 - дисковід перебуває в стані "не готовий"

153 - непізнана команда

154 - у вихідних даних

155 - при запиті до диска невірна довжина структури

156 - помилка при операції установки голівок на диску

157 - невідомий тип носія

158 - сектор не знайдений

159 - скінчився папір на пристрої друку

160 - помилка при записі на обладнання

161 - помилка при читанні з обладнання

162 - збій апаратури

200 - розподіл на нуль

201 - помилка при перевірці границь

202 - переповнення стека

203 - переповнення області, що динамічно розподіляється, пам'яті

204 - недійсна операція посилання

205 - переповнення операції із плаваючої коми

206 - зникнення порядку при операції плаваючої коми

207 - неприпустима операція із плаваючої коми

208 - не встановлена підсистема керування оверлеями

209 - помилка читання оверлейного файлу