From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,9def90e15d8accc X-Google-Attributes: gid103376,public X-Google-Thread: 16adf3,41810a0fecb9b060 X-Google-Attributes: gid16adf3,public X-Google-Thread: 12f38b,41810a0fecb9b060 X-Google-Attributes: gid12f38b,public X-Google-ArrivalTime: 2003-12-13 07:03:20 PST From: "Ratson Janiv" Newsgroups: comp.lang.ada,news.admin.lang.ada,news.groups.lang.ada References: <3fd4e0e2$1@news.barak.net.il> <3fd4ee3b$1@news.barak.net.il> Subject: Re: coding problems, please help. Date: Sat, 13 Dec 2003 16:58:14 +0200 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 NNTP-Posting-Host: 82-166-165-88.barak.net.il X-Original-NNTP-Posting-Host: 82-166-165-88.barak.net.il Message-ID: <3fdb298f@news.barak.net.il> X-Trace: news.barak.net.il 1071327631 82-166-165-88.barak.net.il (13 Dec 2003 17:00:31 +0300) X-Original-Trace: 13 Dec 2003 17:00:31 +0300, 82-166-165-88.barak.net.il Path: archiver1.google.com!news2.google.com!newsfeed2.dallas1.level3.net!news.level3.com!crtntx1-snh1.gtei.net!washdc3-snh1.gtei.net!news.gtei.net!ngpeer.news.aol.com!feed2.newsreader.com!newsreader.com!newshosting.com!news-xfer1.atl.newshosting.com!uunet!dca.uu.net!ash.uu.net!news.splitrock.net!nntp02.mcleodusa.net!dimaggio.newszilla.com!sinatra.newszilla.com!news.barak.net.il!not-for-mail Xref: archiver1.google.com comp.lang.ada:3440 Date: 2003-12-13T16:58:14+02:00 List-Id: ? "Ratson Janiv" wrote in message news:3fd4ee3b$1@news.barak.net.il... > I found something ... > Still having a problem ... > procedure Q2 is > > package My_Base_Queue is new Jr.Queue(T=>Integer); > > package My_Queue_Max is new My_Base_Queue(">"=>">"); > > begin > > null; > > end Q2; > > Compile Error : > > q2.adb:12:32: expect name of generic package in instantiation > > Help Needed, > 10x. > > > "Ratson Janiv" wrote in message > news:3fd4e0e2$1@news.barak.net.il... > > with Jr.Queue; > > > > with Jr.Queue.Max_Bounded_Queue; > > > > use Jr.Queue.Max_Bounded_Queue; > > > > procedure Q2 is > > > > package My_Queue is new Max_Bounded_Queue(T=>Integer,">"=>">"); > > > > > > begin > > > > > > null; > > > > end Q2; > > > > compile error : > > > > q2.adb:5:07: invalid prefix in selected component "Queue" > > > > q2.adb:9:28: "Max_Bounded_Queue" is not visible > > > > q2.adb:9:28: non-visible declaration at jr-queue-max_bounded_queue.ads:7 > > > > q2.adb:9:28: non-visible declaration at jr-queue-max_bounded_queue.ads:5 > > > > why ? > > > > generic > > > > type T is private; > > > > package Jr.Queue is > > type Queue is abstract tagged private; > > > > procedure Push(Q: in out Queue'class;Item:T) is abstract; > > procedure Pop(Q: in out Queue'class;Item:in out T) is abstract; > > function Empty(Q: Queue'class) return Boolean is abstract; > > > > private > > > > type Queue is tagged null record; > > > > end Jr.Queue; > > > > > > > > ------------------------- > > > > with Jr.Queue; > > > > generic > > package Jr.Queue.Max_Queue is > > > > type Max_Queue is abstract new Queue with null record; > > > > function Max(Q:Max_Queue) return T is abstract; > > > > end Jr.queue.Max_Queue; > > > > > > ----------------------- > > > > generic > > > > with function ">"(Item1,Item2:T) return Boolean; > > > > package Jr.Queue.Max_Bounded_Queue is > > > > type Max_Bounded_Queue is new Queue with private; > > > > procedure Push(Q: in out Max_Bounded_Queue;Item:T); > > procedure Pop(Q: in out Max_Bounded_Queue;Item:in out T); > > function Empty(Q: Max_Bounded_Queue) return Boolean; > > function Max(Q:Max_Bounded_Queue) return T; > > > > Queue_Full, Queue_Empty :exception; > > > > private > > > > Num_Items : constant := 100; > > > > type Queue_Arr is array (1..Num_Items) of T; > > > > type Max_Bounded_Queue is new Queue with record > > Arr : Queue_Arr; > > I : Integer := 1; > > Max_Item : T; > > end record; > > > > procedure Find_Max(Q: in out Max_Bounded_Queue); > > > > end Jr.Queue.Max_Bounded_Queue; > > > > > > > > 10x. > > > > > >