From: "Liddle Feesh" <no_see_reply_address@spam.com>
Subject: Re: Why won't this package compile? - ERRORS FIXED & NEW PROBLEMS & New Source Code Listing
Date: Wed, 26 Dec 2001 23:10:52 -0000
Date: 2001-12-26T23:10:52+00:00 [thread overview]
Message-ID: <aOsW7.49370$4z5.6910230@news6-win.server.ntlworld.com> (raw)
In-Reply-To: dlkW7.31460$4f7.4336955@news11-gui.server.ntli.net
Okay, the package SPEC compiles, and I have saved this as queue_package.ads
However - the package body doesn't... I've made the changes as you wonderful
people have suggested, but am still erroring...
One problem was that I was making package body definitions(?) for a
function. The following procedure should not have been included in the
package body. It was declared as (and should stay as - a function).
procedure is_empty_Queue (q: queue)
begin
null; -- Do nothing
end is_empty_Queue;
Removing this removed about 10 errors from the program.
The remaining two errors (as reported by ObjectADA 7.2 Compiler) are:
Error: Line 6 col 13 ... Completion required for specification 'initialise',
Continuing
Error: Line 7 col 12 ... Completion required for specification
'is_empty_queue', Continuing
is_empty_queue is a function (I hope to iterate through the list, and return
boolean true/false if empty), and 'initialise' seems to be properly complete
to me.
What on earth is the problem here? It's passed me completely. I have
attached the queue_package.ads file, which contains both Spec and Body.
TIA
--
Liddle Feesh
' O 0 o <"//>< ' o'^
(Remove UNDERPANTS to reply)
-- START OF FILE
---------------------------------------------------------------------
-- Queue_Package Spec
---------------------------------------------------------------------
package queue_package is
TYPE queue is LIMITED PRIVATE;
empty_queue : EXCEPTION; -- !! FIRST ERROR REPORTED HERE
-- !! SECOND ERROR REPORTED HERE
procedure initialise (q: in out queue);
function is_empty_queue (q: queue) return boolean;
procedure add(n: in integer; q: in out queue);
procedure remove(n: out integer; q: in out queue);
--remove raises the exception "empty-queue" if applied to an empty queue
PRIVATE
TYPE node;
TYPE link is ACCESS node; --ACCESS is a pointer type
TYPE node is RECORD
value : integer;
next : link :=NULL;
END RECORD;
TYPE queue is RECORD
head : link;
tail : link;
END RECORD;
END queue_package;
-- Queue_Package Body
---------------------------------------------------------------------
package body Queue_Package is
procedure add (n: in integer; q: in out queue) is
begin
null; -- Do nothing
end add;
procedure remove (n: out integer; q: in out queue) is
begin
null; -- Do nothing
end Remove;
procedure initalise (q: in out queue) is
begin
null; -- Do nothing
end initalise;
end Queue_Package;
-- END OF FILE
---------------------------------------------------------------------
next prev parent reply other threads:[~2001-12-26 23:10 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-26 13:33 Why won't this package compile? Liddle Feesh
2001-12-26 14:15 ` Liddle Feesh
2001-12-26 14:59 ` Michal Nowak
2001-12-26 22:20 ` Liddle Feesh
2001-12-27 8:21 ` Michael Bode
2001-12-27 10:02 ` Michal Nowak
2001-12-27 17:03 ` Liddle Feesh
2001-12-28 9:15 ` GNAT on Win2K Was: " Michal Nowak
2001-12-28 16:25 ` Alfred Hilscher
2001-12-28 17:08 ` Liddle Feesh
2001-12-26 15:08 ` Jeff Creem
2001-12-26 14:49 ` Larry Hazel
2001-12-26 22:21 ` Liddle Feesh
2001-12-27 1:19 ` Larry Hazel
2001-12-26 19:33 ` martin.m.dowie
2001-12-26 23:10 ` Liddle Feesh [this message]
2001-12-27 4:21 ` Why won't this package compile? - ERRORS FIXED & NEW PROBLEMS & New Source Code Listing Larry Hazel
2001-12-27 16:57 ` Liddle Feesh
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox