[an error occurred while processing this directive]

.сс

Приложение А

Список команд

_______________________________________________________________

CLOSE

Закрывает все открытые файлы в текущей файловой системе.

COMPILE

Компиляция из/в память.

COMPILE исх.файл

Компиляция из исходного файла в память.

COMPILE> об.файл

Компиляция из памяти в объектный файл.

COMPILE исх.файл об.файл

Компиляция из исходного файла в объектный.

EDIT[ исх.файл ]

Вызов редактора с возможностью загрузки редактируемого файла.

GO[ аргументы ]

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

LOAD об.файл

Загрузка в память объектного файла.

MODE номер

Смена режима отображения.

RUN об.файл [ аргументы ]

Загрузка и выполнение объектного файла.

SAVE об.файл

Запись объектного файла.

TRACE [0, 1 или 2]

Установка режима трассировки.

.сс

Приложение Б

Список функций редактора
_______________________________________________________________

КлавишаФункция

ВВЕРХ'Перемещение на одну строку вверх
ВНИЗ'Перемещение на одну строку вниз
ВЛЕВО'Перемещение на один символ влево
ВПРАВО'Перемещение на один символ вправо

ВВЕРХ''Перемещение на одну страницу вверх
ВНИЗ''Перемещение на одну страницу вниз
ВЛЕВО''Перемещение в начало строки
ВПРАВО''Перемещение в конец строки
ВВЕРХ'''Перемещение в начало текста
ВНИЗ'''Перемещение в конец строки

f.'Удаление символа слева от курсора
f='Удаление символа под курсором
f=''Переход в режим 'активного курсора'

f0'Переход к строке по номеру
f1'Выполнение команды операционной системой
f2'Загрузка текста из файла
f3'Запись редактируемого текста в файл
f4'Поиск и замена строки
f5'Глобальный подсчет/замена строк
f6'Установка маркера
f7'Копирование фрагмента
f8'Распечатка текста на принтере
f9'Восстановление старого текста

f0''Включение/выключение отображения переводов строк
f1''Выбор режима редактирования (вставка/изменение)
f2''Вставка фрагмента из файла
f3''*** НЕ ИСПОЛЬЗУЕТСЯ ***
f4''Выход из редактора
f5''*** НЕ ИСПОЛЬЗУЕТСЯ ***
f6''Уничтожение маркеров
f7''Перемещение фрагмента
f8''Уничтожение фрагмента
f9''Уничтожение текста

Приложение В

Номера/сообщения об ошибках, выдаваемые компилятором

_______________________________________________________________

Следующая таблица содержит номера ошибок, выдаваемые компилятором, и сообщения, которые им соответствуют. Эти сообщения печатаются автоматически при установленном режиме компиляции {¤F+}.

1 Variable identifier expected.

2 Comma expected/missing parametr

3 '.' expected.

4 ':' expected.

5 ';' expected.

6 Type mismatch.

7 '(' expected.

8 ')' expected.

9 '[' expected.

10 ']' expected.

11 Can't assign a real to an integer.

12 RHS not compatible with LHS type mismatch.

13 Bad statement start.

14 Not ISO-Pascal(use compiler option X+ to allow extensions).

15 Equals expected.

16 if INPUT or OUTPUT is used then it must be declared in

 progam header.

17 Missing parameter(s).

18 Parameter can't be a packed var.

19 Missing semicolon.

20 For loop control variable must be declared in the variable

 declaration part of this procedure/function

21 Assignment operator ':=' expected.

22 '..' expected.

23 Actual and formal parameters should both be either packed

 or unpacked.

24 A label was declared in this block but was not defined.

25 Hex number too large.

26 Variable too big for memory.

27 Too much code for code buffer, claim larger area using

 compiler option 'C'.

28 Set base type must be max 0..255.

29 BEGIN expected.

30 Too many procedures (max 127).

31 Missing body of FORWARD proc/func.

32 DO expected.

33 Label not declared.

34 This label does not prefix a statement which is in the same

 statement sequence that contains the GOTO statement.

35 END expected/missing semicolon.

36 This label should prefix a statement at the outermost level

 of statement nesting in this block.

37 Label not declared in this block.

38 Label already defined.

39 Label already declared.

40 Label must be a sequence of digits 0 to 9999.

41 Array element selector is not the same type as the array's

 index type.

42 Unpacked array variable expected.

43 Component types of both arrays must be the same.

44 OF expected.

45 Packed array variable expected.

46 Can't pass a conformant array as a value parameter.

47 PROGRAM expected.

48 Can't pass a bound identifier as a var parameter.

49 Function result type mismatch.

50 Formal parameter is a procedure and actual parameter is a

 function or vice versa.

51 THEN expected.

52 TO expected.

53 Procedural/functional parameter expected.

54 UNTIL expected.

55 Can't alter the value of this variable because it is the

 control variable of an active FOR loop.

56 Control variable must be an entire variable ie not an array

 element or field of a record.

57 Too many digits.

58 Premature end of file.

59 Can only output integers in hex.

60 Too many parameters.

61 String parameter expected.

62 Undeclared identifier expected.

63 For loop initial & final values must be same types as

 control variable.

64 For loop control variable must be ordinal type.

65 Record's field identifier expected.

66 Can only assign value to current function identifier.

67 Current function identifier is only allowed on LHS of

 assignment.

68 Ordinal parameter expected.

69 Parameter must be a file variable.

70 Parameter must be a textfile.

71 Constant already specifies a variant part in this record.

72 Constants does not specify a variant.

73 Variant constant/tag-type mismatch.

74 Too many variant constants.

75 Pointer's base type must be record in order to have variant

 constants.

76 Formal parameters have the same conformant array type but

 the actual parameters are not of the same type.

77 Can only have variant constants if type pointed to is a

 record.

78 Set base type and IN operand are not the same type.

79 Real parameter expected.

80 Real/integected.

81 Integer parameter expected.

82 Text file variable expected.

83 Filename string expected.

84 Temp files do not have file-names.

85 Can't have a file as a parameter to READ/WRITE.

86 File and parameter type mismatch.

87 Can't read/write this type.

88 Only reals can have a decimal place.

89 File must be of type TEXT to do WRITELN/READLN.

90 Type mismatch between actual and formal parameter.

91 Procedure/function has no arguments.

92 File variable expected.

93 Bad filename.

94 Control variable threatened by nested procedure/function.

95 Procedural parameter list mismatch.

96 Function id is unassigned.

97 Structured types containing a file component cannot be

 assigned to each other.

98 File type must be TEXT to allow use of field widths.

99 Can't assign value to function parameter identifier.

100 Set of all tag-constants does not equal the set of all

 values specified by the tag-type.

101 Can't pass tag-field as var param.

102 A variable appeared in the program header but was not

 defined.

103 Too many stmt sequences (max 255).

104 Can't redefine identifier because it has been used earlier

 in this block.

105 No hex reals allowed.

106 Can only pack conformant arrays.

107 Case value must be ordinal type.

108 Index limits out of range.

109 Standart file already declared.

110 File variable expected.

111 Constant expected.

112 Can't sign non-numeric expressions.

113 Type mismatch between case constant and case expression.

114 Bad poiter type.

115 Type identifier expected.

116 Duplicate case constant.

117 Subrange limits must be scalar.

118 Upper and lower limits mus be same type.

119 Low bound exceeds high bound.

120 Ordinal type expected.

121 Too many dimensions for interpreter.

122 Set member must have ordinal type.

123 Can't have file file of file(s).

124 Set member must have an ordinal value of 0 to 255.

125 Unresolved poiter type.

126 Function type expected.

127 Digit expected.

128 Function type must be ordinal, real or pointer.

129 Illegal character detected.

130 Unexpected EOF in a comment or a string constant.

131 File already declared permanent.

132 Unresolved pointer base type.

133 Pointer base type identifier is not a type identifier.

134 Structured type expected.

135 Tag type expected.

136 Ordinal constant expected.

137 Field does not belong to this record.

138 Procedure or function id expected.

139 Sets are not of the same base type.

140 Procedure/function already declared.

141 Variant selector type does not match variant constant type.

142 Pointer type expected.

143 Permanent files must be declared in global variable

 section.

144 Packed conformant arrays must be single dimension.

145 Can't change this compiler option once it is set.

146 Component type mismatch.

147 Set members must have the same type.

148 Variable is not a file or pntr type.

149 Missing index/spurious comma.

150 Variable is not a record.

151 Variable is not an array.

152 Numbers must be terminated by a non alphabetic character.

153 Permanent file not declared in global variable section.

154 Decimal places field-width must be an integer expression.

155 Field-width must be integer value.

156 Can't assign a value to a conformant array bound

 identifier.

157 Can't have EOLN in string constants.

158 Can't have a file variable contained in a value parameter.

159 Illegal operation on these operands.

160 Index type mismatch.

161 Boolean type expected.

162 Can't use function id in this way.

163 Integer operands needed for this operation.

164 Procedure identifier has been used before its defining

 ocurrence.

{ Это фатальные ошибки, вызывающие прерывание компиляции }

165 Id table overflow (increase table size using compiler

 option 'I').

166 Too many nested records/procedures.

167 To compile using disc Pascal, use DCOMP<source><object>.

168 Code and source filenames the same.

.сс

Приложение Г

Сообщения об ошибках, выдаваемые интерпретатором.

_______________________________________________________________

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

Г.1 Ошибки в режиме командного интерпретатора

В этом разделе приведены ошибки, обрабатываемые ситемой в режиме командного интепретатора, когда Паскаль печатает промпт '%'.

Bad coomand(Error 1)

Эта ошибка возникает в результате ввода команды, неизвестной Паскалю и операционной системе. В этом случае файловая система пытается загрузить и выполнить программу из системной библиотеки на диске. Если файла с введенным именем в библиотеке нет, печатается данное сообщение об ошибке.

Bad mode(Error 2)

Генрируется в результате попытки выбора с помощью команды MODE экранного режима, вызывающего потерю части исходного файла в памяти машины. Также генерируется при попытке вызвать редактор из 2-го и 5-го экранных режимов.

No code(Error 3)

Генерируется в ответ на команду SAVE или GO, когда в памяти отсутствует объектный код.

No room(Error 10)

Генрируется, если недостаточно памяти для загрузки объектного файла командой LOAD.

No text(Error 4)

Генерируется при попытке компиляции из памяти, когда исходный текст отстутствует в ней.

Г.2 Ошибки в режиме редактирования

Bad marking(Error 9)

Была попытка выполнить операцию с фрагментом текста с некорректным количеством установленных маркеров. Например, при попытке удаления фрагмента с количеством установленных маркеров, отличных от одного.

Field number(Error 8)

Генерериуется при попытке использования поля, не лежащего в диапазоне от %0 до %9 во время операции замены строки. Смотрите главу 2 для получения подробной информации о поиске и замене строк.

No room(Error 10)

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

Not found(Error 5)

Генрируется при попытке перехода к несуществующей строке, или при неудачном поиске строки.

Syntax error(Error 6)

Генерируется при некорректном указании критериев поиска и/или замены. Допустимые форматы критериев поиска и замены приведены в главе 2.

Too comlex(Error 7)

Генерируется, когда критерий поиска содержит слишком много компонент, разделенных '*'. Максимальное количество таких компонент равно семи. Использование слишком длинных критериев также приводит к этой ошибке.

Г.3 Ошибки, возникающие при выполнении объектных программ.

Ошибки, приведенные ниже, возникают в процессе выполнения программ на Паскале. Если программа была откомпилирована с установленным флагом отладки, то будут напечатаны номер строки и имя процедуры, в которых обнаружена ошибка.

Accuracy lost(Error 26)

Возникает в результате попытки применения функций SIN или COS к углу, превышающему значение 2 в 23-й степени радиан.

Bad MOD(Error 23)

Ошибка вызвана применением в операторе MOD отрицательного второго операнда. Стандарт ИСО требует положительного значения операнда j в конструкции i MOD j.

Bad number(Error 27)

Ошибка вызвана чтением недопустимого символа во время чтения числа из текстового файла.

Case index(Error 11)

Ошибка возникает при, когда значение выражение конструкции CASE не соответствует ни одной из альтернатив в теле конструкции, а альтернатива OTHERWISE отсутствует.

CHR range(Error 22)

Аргумент функции CHR должжен иметь значение от 0 до 255.

Division by zero(Error 21)

Если правый операнд операций /, DIV или MOD окажется равным нулю, будет выдано это сообщение об ошибке.

EOF(Error 33)

Попытка чтения после последнего элемента текстового файла вызывает данную ошибку.

Escape(Error 17)

Генерируется при нажатии пользователем клавиши РЕД.

Field width(Error 34)

Ширина печатаемого поля для чисел и строк должна быть равна от 1 до 255 символов. Количество цифр для вещественных чисел не должно превышать 48-и. Несоблюдение этих условий вызывает данную ошибку.

File not found(Error 28)

Попытка применения команды RESET к несуществующему внешнему файлу оканчивается выдачей данного сообщения.

LN range(Error 25)

Аргумент функции LN должен лежать в пределах от 0 до 2Е38. Значение 0 не допустимо.

-ve SQRT(Error 24)

Попытка извлечения корня из отрицательного аргумента.

No room(Error 10)

Эта ошибка возникает в результате недостатка памяти для стека или рабочей области программы. Например, слишком много рекурсивных вызовов процедур или динамических переменных задействовано в программе. Может также возникать при попытке включения экранного режима с большим объемом памяти.

Pointer(Error 12)

Возникает при использовании указателя, имеющего нулевое или неопределенное значение.

Read only(Error 31)

Возникает при использовании операторов WRITE или PUT к файлу, открытому для чтения оператором RESET.

Real overflow(Error 16)

В процессе вычисления значение переменной превысило число 1Е38.

Set value(Error 14)

Вызвается использованием при оперировании с набором недопустимых значений.

Subrange(Error 13)

Возникает при попытке присвоения переменной типа "диапазон", значения, выходящего за пределы объявленного диапазона.

Too many open(Error 30)

Эта ошибка возникает при попытке открытия более восьми файлов. Количество открытых файлов может быть увеличено за счет использования временных файлов.

Undefined buffer variable(Error 20)

Возникает при попытке использования буферной переменной до присвоения ей значения. Например:

rewrite(f);

put(f);

приводит к ошибке: f^:=<выражение> должно быть использовано между двумя операторами.

Undefined file(Error 19)

Возникает при попытке доступа к файлу до его открытия командами RESET или REWRITE.

Undefined variable(Error 18)

Возникает при попытке использования в выражении переменной с неприсвоенным ранее значением.

Write only(Error 32)

Возникает при попытке чтения из файла открытого на запись.

.сс

Приложение Д

Список рекомендуемой литературы

_______________________________________________________________

1. Вирт Н.
 "Систематическое программирование.", М.: Мир, 1977г.
2. Йенсен К., Вирт Н.
 "Паскаль. Руководство для пользователя и описание языка",
 М.: Финансы и статистика, 1982г.
3. Грогоно П.
 "Программирование на языке Паскаль", М.: Мир, 1982г.
4. Уилсон И.Р., Эддиман А.М.
 "Практическое введение в Паскаль", М.: Радио и связь, 1983г.
5. Вирт Н.
 "Алгоритмы+структуры данных=программы", М.: Мир, 1985г.
6. Керниган Б., Плоджер Ф.
 "Инструментальные средства программирования на языке Паскаль"
 М.: Радио и связь, 1985г.
7. Бутомо И.Д., Самочадин А.В., Усанова Д.В.
 "Программирование на алгоритмическом языке Паскаль для микро-
 ЭВМ", Л.: ЛГУ, 1985г.
8. Грэхем Р.
 "Практический курс языка Паскаль для микро-ЭВМ",
 М.: Машиностроение, 1986г.
9. Форсайт Р.
 "Паскаль для всех", М.: Машиностроение, 1986г.
10. Абрамов С.А., Зима Е.В.
 "Начала программирования на языке Паскаль", М.: Наука, 1987г.
11. Прайс Д.
 "Программирование на языке Паскаль. Практическое руководство."
 М.: Мир, 1987г.
12. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н.
 "Введение в язык Паскаль", М.: Наука, 1988г.
13. Перминов О.Н.
 "Программирование на языке Паскаль", М.: Радио и связь,
 1988г.
14. Семашко Г.Л., Салтыков А.И.
 "Программирование на языке Паскаль", М.: Наука, 1988г.
15. Боон К.
 "Паскаль для всех", М.: Энергоатомиздат, 1988г.
16. Шаньгин В.Ф., Поддубная Л.М., Голубев-Новожилов Ю.С.
 "Программирование на языке Паскаль", М.: Высшая школа, 1988г.
17. Фьюэр А., Джехани Н.
 "Языки программирования Ада, Си, Паскаль", М.: Радио и связь
 1989г.
18. Эрбс Х.-Э., Штольц О.
 "Введение в программирование на языке Паскаль", М.: Мир,
 1989г.
19. Фролов Г.Д., Кузнецов Э.И.
 "Элементы информатики", М.: Высшая школа, 1989г.
20. Перминов О.Н.
 "Язык программирования Паскаль", М.: Радио и связь, 1989г.
[an error occurred while processing this directive]