Всем здрям! Читаю книгу «Ada - язык системного проектирования». В ней первый же пример
-- Коментарий
-- Глобальные типы, используемые
-- вызывающей программой и пакетом
type ELEM is INTEGER;
type STATUS is (OK, UNDERFLOW, OVERFLOW);
--Стековый пакет для спецификации
-- переменных типа ELEM
-- Спецификация
package STACK is
procedure PUSH (E:in ELEM; FLAG: out STATUS);
procedure POP (E:out ELEM; FLAG: out STATUS);
end STACK;
--Тело
package body STACK is
SIZE: constant INTEGER := 10;
SPACE: array(1 .. SIZE) of ELEM;
INDEX: INTEGER range 0 .. SIZE :=0;
procedure PUSH (E: in ELEM, FLAG: out STATUS) is
begin
if INDEX = SIZE then FLAG := OVERFLOW
else
INDEX := INDEX + 1;
SPACE(INDEX) := E;
FLAG := OK;
end if;
end PUSH;
procedure POP (E: out ELEM, FlAG; out STATUS) is
begin
if INDEX = 0 then FLAG := UNDERFLOW
else
E := SPACE(INDEX);
INDEX := INDEX -1;
FLAG := OK;
end if;
end POP;
end STACK;
--структура пользовательского вызова
STACK.PUSH(ELEMENT,STATUS);
STACK.POP(ELEMENT,STATUS);
Compiling: STACK.adb (source file time stamp: 2010-10-16 21:42:42)
7. type ELEM is INTEGER;
|
>>> compilation unit expected
12. package STACK is
|
>>> keyword "body" expected here [see file name]
39 lines: 2 errors