HDTenEightyP/NetNews huggingface dataset:
From: nebbe@lglsun.epfl.ch (Robb Nebbe)
Newsgroups: comp.lang.ada
Subject: Re: Outputting quote marks
Date: 22 Nov 92 16:04:56 GMT
Organization: Ecole Polytechnique Federale de Lausanne

In article <1992Nov22.124601.4138@nobeltech.se>, dawe@nobeltech.se (Daniel Wengelin) writes:
|> In article <By13E7.4q5@plato.ds.boeing.com> rosen@plato.ds.boeing.com (Robert Rosen) writes:
|> >I need to use Text_IO to output a string consisting of three
|> >consecutive quote marks (""").  How can I do it?  Trying 
|> >
|> >  Text_IO.Put_Line (""""");
|> >
|> >produces a compilation error.
|> >
|> >Bob Rosen
|> >Boeing
|> >rosen@goofy.ds.boeing.com
|> >206-773-2852
|> 
|> 
|> Try Put_Line(%"""%); It works fine on my Rat, and is much more 
|> readable than a large number of quotation characters (LRM 2.10).

If you read LRM 2.10 a little closer you will see that %"""% should be
illegal for any Ada compiler LRM 2.10(4) However you are right about it
being much more readable and it probably should be legal.

Robb Nebbe                     nebbe@lglsun.epfl.ch
Newsgroups: comp.lang.ada
From: breland@cobweb.mcc.com (Mark Breland)
Subject: Re: Can Strassman spell "Ada"?
Followup-To: comp.lang.ada
Organization: MCC
Date: Mon, 23 Nov 1992 21:50:46 GMT

In article <BxtGJB.4Mv@world.std.com> srctran@world.std.com (Gregory Aharonian) writes:
>
>    One of the reasons why defense contractors are so lax and unenthusiastic
>to promote and push Ada outside of the defense community (or more exactly,
>outside the confines of the DoD software engineering contracts they agree to)
>is that the DoD does a lousy job of promoting and pushing Ada.  There are an
>endless number of conferences and trades shows, perfect for introducing the
>public to Ada, where AJPO/ADAIC/SEI/STARS never show up, even when it costs
>nothing to do so.

Apparently Greg was not at TRI-Ada '93 last week...the following were all
exhibitors at the conference:

Ada 9X Project Office
Ada Information Clearinghouse (ADAIC)
Army Reuse Center
DoD/Center for Software Reuse Operations
Software Engineering Institute (SEI)
Software Technology for Adaptable, Reliable Systems (STARS)

Mark A. Breland - Microelectronics and Computer Technology Corporation (MCC)
Ada Fault Tolerance                               | voice:    (512) 338-3509
3500 West Balcones Center Drive                   | FAX:      (512) 338-3900
Austin, Texas 78759-6509   USA                    | internet: breland@mcc.com
Newsgroups: comp.lang.ada
From: dawe@nobeltech.se (Daniel Wengelin)
Subject: Re: Outputting quote marks
Organization: NobelTech AB
Date: Sun, 22 Nov 1992 12:46:01 GMT

In article <By13E7.4q5@plato.ds.boeing.com> rosen@plato.ds.boeing.com (Robert Rosen) writes:
>I need to use Text_IO to output a string consisting of three
>consecutive quote marks (""").  How can I do it?  Trying 
>
>  Text_IO.Put_Line (""""");
>
>produces a compilation error.
>
>Bob Rosen
>Boeing
>rosen@goofy.ds.boeing.com
>206-773-2852


Try Put_Line(%"""%); It works fine on my Rat, and is much more 
readable than a large number of quotation characters (LRM 2.10).


                Daniel


----------------------------------------------------------------
!    with Standard_Disclaimer;                                 !
----------------------------------------------------------------
!    Daniel Wengelin               ! E-mail: dawe@nobeltech.se !
!    Systems analysis and design   ! Phone : +46 8 58084000    !
!    NobelTech Systems             ! Fax   : +46 8 58081542    !
!    Naval Systems Division        ! Mail  : S-17588 Jarfalla  !
!                                  !         SWEDEN            !
----------------------------------------------------------------
! NobelTech: Winner of the -92 Ada Industry Leadership Award   !
----------------------------------------------------------------
Newsgroups: comp.lang.ada,eunet.misc,bnet.general
From: crispen@efftoo.boeing.com (crispen)
Newsgroups: comp.lang.ada
Subject: Re: Calling Ada from a non-Ada language
Date: 16 Nov 92 13:40:27 GMT
Distribution: world
Organization: The Internet

dale.ksc.nasa.gov!rsimonia@ames.arc.nasa.gov  (Rick Simonian)
asks about calling Ada from (e.g.) C.

We have done this, especially where early Ada bindings were absent
or broken (e.g., for DevGuide or SunView on the Sun), recognizing that we
would probably dump this code as soon as we got good bindings.

You *have* to have an Ada main(), so far as I know.  The reason is
that Ada does elaboration (sure of this) and task spawning (I think
this is what the code I've seen does) before it hits the first
line of main().  Obviously, C has never heard of either of these
activities as requirements before executing main().

We always had to fool around a bit with arguments before we got
things to work.  C calls by value and Ada calls by reference -- sometimes.
When?  You'll find out!  C strings don't look like Ada strings.  And Ada and
C structs sometimes need to be tweaked (the last two are true going either
way, of course).  For example, the following:

	struct foo {
		short	a;
		int	b;
		};

is 8 bytes long on the SPARC (have to look at ANSI C to see if this
is required or permitted).  Ada may have its own ideas about sizes
and alignments unless you give it a rep spec.  Don't rely on an Ada
record always matching a C struct.

Anyway, unless you're the only person in the world who wants to do
a particular job, you'll usually find Ada bindings that will let you
throw out your C-to-Ada code.  Eventually.
+-------------------------------+--------------------------------------+
| Bob Crispen                   |  Who will babysit the babysitters?   |
| crispen@foxy.boeing.com       +--------------------------------------+
| (205) 461-3296                |Opinions expressed here are mine alone|
+-------------------------------+--------------------------------------+
From: bevan@cs.man.ac.uk (Stephen J Bevan)
Newsgroups: comp.lang.ada
Subject: Re: Computer languages
Date: 17 Nov 92 21:32:27 GMT
Organization: Department of Computer Science, University of Manchester
In-reply-to: crispen@efftoo.boeing.com's message of 12 Nov 92 13:31:58 GMT

In article <9211121331.AA21974@efftoo.boeing.com> crispen@efftoo.boeing.com (crispen) writes:
   Sorry for the heresy that follows, but every time there's any text
   to process, it's C for me.  I've got a couple of C programs I wrote
   for the last Ada program I was on that generated Ada text -- the idea
   was to find the sizes of a bunch of interface data objects, so good
   old Ada's 'SIZE attribute is wonderful.  But extracting the declarations
   from various packages, putting them together to make compilable Ada
   code (lots of file I/O, lots of text manipulation) -- that's a job
   for C.

It is a job for any language you are comfortable with.  Personally I
would never use C for something like this, I'd go for Scheme, Icon,
Awk or even Perl. 


   A buddy of mine just did a big interactive text and file thing using
   Ada and it took him 3 days.  I'm certain he could have done it in C
   in half a morning.

And I'm sure Larry Wall or Tom Christiansen could give you the answer
in Perl within minutes of hearing the problem :-)

I would hope that most people agree that Ada is a fine language to
deliver products in, but it is not _necessarily_ the best language to
_prototype_ (part of) an application in.  To give you an example :- I
might prototype in Scheme taking full advantage of an interactive
environment and the latent typing just to see if an idea pans out.
Then once I'm confident the method has some merit, scrap the program
and design an Ada solution based on what has been learnt from the
prototype.  Hourses for courses as they say :-)

bevan
Newsgroups: comp.lang.ada,comp.object
From: jubo@rwthi3.informatik.rwth-aachen.de (Juergen Boerstler)
Subject: Re: OOD, Ada, and Inheritance
Organization: Rechnerbetrieb Informatik  /  RWTH Aachen
Date: 16 Nov 92 08:48:56 GMT

dag@control.lth.se (Dag Bruck) writes:

>In <comp.lang.ada,comp.object> weide@elephant.cis.ohio-state.edu (Bruce Weide) writes:
>>The questions about inheritance in Ada, and especially the responses
>>about inheritance being "simulated" in Ada, are interesting.

>Following the argument that inheritance is not essential for OOP
>because (1) it is most important in the analysis phase, and (2), it
>can be simulated:

>There is no need for any module support in the programming language.
>The modularization is made during the analysis phase, and procedure
>and function names are sufficient to do the subroutine call.

>Anyone care to comment?

Yes: And, since it can be simulated all in Assembler, there is no need for
new programming languages at all ;>).

>		-- Dag

Ok, let's get serious. People develop new programming language concepts to
free their task from ever the same details. Therefore, we have procedures
and so on, and do not need to simulate this concept (would you?). But, if
you do not trust them, don't use them. It's the same with inheritance.
Inheritance is an important concept in analysis and design (mostly used for
subtyping purposes). A lot of people use it successfully in programming, and
are satisfied with this concept. And the situation is (more as) the same for
module concepts. If you don`t want to use them, don't do it.

There is also no need for cars. And, of course there are lots of
contraindicators for using cars. And, there are lots of ways simulating the
task "going from A to B" (walking, running, by bike, by train, ...).

-- jubo
****************************************************************************
* Ju"rgen Bo"rstler             * e-mail:                                  *
* RWTH Aachen                   *    jubo@rwthi3.informatik.rwth-aachen.de *
* Lehrstuhl fuer Informatik III *                                          *
* Ahornstrasse 55               *                                          *
* W-5100 Aachen                 * phone: +49/ 241/ 80-21310                *
* Germany                       * fax:               -21329                *
****************************************************************************

--
****************************************************************************
* Ju"rgen Bo"rstler             * e-mail:                                  *
* RWTH Aachen                   *    jubo@rwthi3.informatik.rwth-aachen.de *
* Lehrstuhl fuer Informatik III *                                          *
Newsgroups: comp.lang.ada
From: stt@spock.camb.inmet.com (Tucker Taft)
Subject: Re: [null arrays]
Organization: Intermetrics Inc, Cambridge MA
Date: Fri, 20 Nov 1992 20:49:35 GMT

In article <Bxz5M0.AxC@dale.cts.com> 
  jhb@dale.cts.com (John Bollenbacher) writes:

>Thanks to all that responded to my initial mail on this thread.  I have a
>followup question.  Is there a more straightforward way to code the function 
>(REMOVE) below, given the restriction on sliding in aggregate creation?
>
>package TEST is
>  subtype T is NATURAL range 0 .. 10;
>
>  type ARR is array (T range <>) of BOOLEAN;
>  
>  type A(N : T := 0) is record 
>    DATA : ARR(1..N);
>  end record;  
> 
>  function REMOVE(ELEMENT : BOOLEAN;
>                  FROM    : A) return A;
>  
>end TEST; 
>package body TEST is
>  function REMOVE(ELEMENT : BOOLEAN;
>                  FROM    : A) return A is
>    RESULT : ARR(1..FROM.N-1);
>  begin
>    for I in FROM.DATA'RANGE loop
>      if FROM.DATA(I) = ELEMENT then
>        RESULT := FROM.DATA(1..I-1) & FROM.DATA(I+1..FROM.N);
>        return (FROM.N - 1, RESULT);
>      end if;
>    end loop;    
>    return FROM;
>  end REMOVE; 
>  
>end TEST;

Yes, this is a little more efficient as it avoids the extra assignment,
by using explicit array subtype conversion to achieve the "sliding.":

    function Remove(Element : Boolean;
                    From : A) return A is
      subtype Result_Subtype is Arr(1..From.N-1);
    begin
      for I in From.Data'Range loop
        if From.Data(I) = Element then
          return(From.N-1, Result_Subtype(
            From.Data(1..I-1) & From.Data(I+1..From.N));
        end if;
      end loop;
      return From;
    end Remove;

If you expect it is common for Remove to have no effect, then you
could save a few more cycles by moving the declaration of the
Result_Subtype into a nested block statement surrounding the
statement returning the aggregate.

>- John Bollenbacher                                        jhb@dale.cts.com -
>- Titan Linkabit Corp.                                       (619) 552-9963 -
>- 3033 Sience Park Rd.                                                      -
>- San Diego, Ca. 92121                                                      -

S. Tucker Taft  stt@inmet.com
Intermetrics, Inc.
Cambridge, MA  02138
From: rlk@VisiCom.COM (Bob Kitzberger)
Newsgroups: comp.lang.ada
Subject: Re: HELP! Input/Output of private types
Date: 16 Nov 92 18:55:13 GMT

kist@acsu.buffalo.edu (james e kist) writes:

>generic
>	type Element is private;
>package abcd
>.
>end abcd;
>
>Now, how do I do I/O on an object that is of type Element? Thanks for any
>help.


   generic
       type Element is private;
       with procedure Put( Item : in     Element );
       with procedure Get( Item :    out Element );
   package abcd is
   ...
       Get (Item);
       Put (Item);
   end abcd;
   

----------------
Bob Kitzberger          VisiCom Laboratories, Inc.
rlk@visicom.com         10052 Mesa Ridge Court, San Diego CA 92121 USA
                        +1 619 457 2111    FAX +1 619 457 0888
From: andrewd@cs.adelaide.edu.au (Andrew Dunstan)
Newsgroups: comp.lang.ada
Subject: Re: GNU-NYU Ada project
Date: 23 Nov 1992 00:12:21 GMT
Organization: The University of Adelaide
Distribution: world
NNTP-Posting-Host: achilles.cs.adelaide.edu.au

In article <62223@mimsy.umd.edu>, alex@cs.umd.edu (Alex Blakemore) writes:
|> dpoole@hydrogen.oscs.montana.edu (David Poole) writes:
|> [report about NYU GNU Ada Project]
|> > the parser uses recursive descent.
|>

I should be very interested to see the parsing grammar being used. I was under the 
impression that Ada was difficult to do using LL(k) methods. Since I like both
Ada and LL parsing, I am glad to see that the two are getting married :-)

 
|> [discussion of relative merits of LL(1) and LALR(1) parsing]
...
|> 
|> LALR(1) is a very popular class of grammar because it includes a large class
|> of languages and there are efficient techniques/tools for automatically constructing
|> parsers for LALR(1) grammars.  It is not the _best possible_ assuming you mean
|> can parse the largest class of grammars.  I believe there exist languages for which
|> there exist LR(1) grammars but not LALR(1) grammars for example.  Recursive descent
|> works for the class LL(1) which is smaller than LALR(1).

This is not quite correct. (This discussion really belongs in comp.compilers.)
The class LL(1) is smaller than the class LALR(1). In fact, the class LL(k) is 
smaller than the class LALR(1) for any k. However. the class LALR(1) = LR(1). This
class actually also includes SLR(1). This class can be shown to be the class of all
determinstically parseable languages. In fact, you can produce an SLR(1) or LALR(1)
grammar which not only derives the same language as any LR(k) grammar, but the parser 
for which emits the same set of parse traces as a parser built from the original grammar.
In effect, this means that it builds an equivalent parse tree. If the language is prefix-free,
you can even build an LR(0) covering grammar for it. The reason for not doing this is 
not that it can't be done, but that it is simply not worth the trouble, normally.

-- 
#######################################################################
#  Andrew Dunstan                   #   There's nothing good or bad   #
#  Department of Computer Science   #   but thinking makes it so.     #
#  University of Adelaide           #                                 #
#  South Australia                  #          - Shakespeare          #
#  net: andrewd@cs.adelaide.edu.au  #                                 #
#######################################################################
Newsgroups: comp.lang.ada
From: dlc@ddsdx2.jhuapl.edu (Dave Collard x7468)
Subject: Re: null arrays
Organization: Johns Hopkins University
Distribution: usa
Date: Wed, 18 Nov 92 13:22:53 GMT

In <BxvtCA.LM1@dale.cts.com> jhb@dale.cts.com (John Bollenbacher) writes:

>Can somebody shed some light on the symptoms of the following program.  In 

>-------------------cut here-----------------------------------------------
>procedure TEST is

>  subtype T is NATURAL range 0 .. 10;

>  type ARR is array (T range <>) of BOOLEAN;
>  
>  type A(N : T := 0) is record 
>    DATA : ARR(1..N);
>  end record;  
>  I : INTEGER;
>  O : A := (3, (TRUE, FALSE, TRUE));
>  
>  N1 : constant ARR := O.DATA(1..0) & O.DATA(1..0);
>  N2 : constant ARR := O.DATA(1..0) & O.DATA(3..2);

-- The result of concatenation of a null array and another array is
-- an array with the range of the second array.  Thus N1 has a range
-- of 1..0 and N2 has a range of 3..2.  

>begin
>  I := N1'LENGTH; -- I = 0 
>  I := N2'LENGTH; -- I = 0
>  O := (0, N1);   -- does not raise constraint
>  O := (0, N2);   -- raises constraint

-- Given the above, this is the common sliding error.  An aggregate assignment
-- does not "slide" the indices to match the constraints of the array in your
-- record.  Since N1'First is 1, no problem.  N2'First is 3 so it does
-- not match 1..N.

>end TEST; 

--Thor
collard@capsrv.jhuapl.edu
dlc@ddsdx2.jhuapl.edu
From: pd@SEI.CMU.EDU (Patrick Donohoe)
Newsgroups: comp.lang.ada
Subject: Hartstone Benchmark, version 1.1
Date: 19 Nov 92 17:00:45 GMT
Distribution: world
Organization: Software Engineering Institute


                   The Hartstone Benchmark, Version 1.1
                   ====================================

   The Hartstone benchmark is a set of timing requirements for testing a
   system's ability to handle hard real-time applications.  It is specified
   as a set of processes with well-defined workloads and timing constraints.
   The name Hartstone derives from HArd Real Time and the fact that the work-
   loads are based on the well-known Whetstone benchmark.  "Hard" real-time
   applications must meet their deadlines to satisfy system requirements;
   this contrasts with "soft" real-time applications where a statistical
   distribution of response times is acceptable.

   Five test series, of increasing complexity, have been proposed for Hart-
   stone and the first of these, the Periodic Harmonic (PH) series, has been
   implemented in the Ada programming language at the Software Engineering
   Institute (SEI).  Known as version 1.0 of Hartstone, it has been available
   publicly for the past two years.  Version 1.1 of the benchmark is now
   available.  This new version corrects some minor errors in the 1.0 release.
   It has also been restructured to enable users to use a debugger as an inter-
   active interface for preliminary tuning of Hartstone parameters and for
   performing multiple Hartstone experiments.  This eliminates the need for
   repeated compile-link-download cycles when tuning and running Hartstone.
   It also facilitates experimentation with non-harmonic task sets, i.e. the
   Periodic Non-Harmonic (PH) test series.

   Electronic mail requests for Hartstone should be sent to the following
   Internet address:

                        hartstone-info@sei.cmu.edu

   For people without Internet access, the address to send requests to is:

                        REST Transition Services
                        Software Engineering Institute
                        Carnegie Mellon University
                        Pittsburgh, PA 15213-3890
                        Phone: (412) 268-7787

   Hartstone source code may also be retrieved from the PIWG bulletin board at

                             (412) 268-7020



Patrick Donohoe,  Software Engineering Institute,    pd@sei.cmu.edu
Carnegie Mellon University, Pittsburgh, PA 15213.    (412) 268-7616
Newsgroups: comp.lang.ada
From: zrzm0111@helpdesk.rus.uni-stuttgart.de (MUFTI)
Subject: Re: ftp
Organization: User Help Desk, Comp.Center (RUS), U of Stuttgart, FRG
Date: Mon, 16 Nov 1992 19:09:52 GMT

In article <1992Nov7.143914.24575@wuecl.wustl.edu> ppc1@cec1.wustl.edu (Peter Pui Tak Chiu) writes:

>is there any ada compiler for DOS available on anonymous ftp sites?

Try ADAED, a tokenizer/executor for ADA (not currently valited, but 
earlier Validated) at cs.nyu.edu.

so long
MUFTI

ps: has someone ported ADAED to the Acorn Archimedes ?


Newsgroups: comp.lang.ada
From: accs1@bagheera.mumath
Subject: HELP! Need pointer to AdaEd
Reply-To: accs1@bagheera.mumath
Organization: Sun Microsystems
Date: Mon, 23 Nov 92 15:10:41 GMT


Just recently it was posted that there is AdaEd available for the AMIGA.
I just can't find it. Nowhere. If you know a pointer to an FTP site or
similar, would you please let me know.

Thanks
Frank
Newsgroups: comp.lang.ada
From: stt@spock.camb.inmet.com (Tucker Taft)
Subject: Re: Outputting quote marks
Organization: Intermetrics Inc, Cambridge MA
Date: Sat, 21 Nov 1992 03:36:30 GMT

In article <By13E7.4q5@plato.ds.boeing.com> 
  rosen@plato.ds.boeing.com (Robert Rosen) writes:

>I need to use Text_IO to output a string consisting of three
>consecutive quote marks (""").  How can I do it?  Trying 
>
>  Text_IO.Put_Line (""""");
>
>produces a compilation error.

Try:
   Text_IO.Put_Line("""""""");  -- That's 2 + 3*2 = 8 quote marks

Inside a string, two consecutive quote marks represent one quote
mark.  Hence, you should never have an odd number of quote
marks in a string.  See RM 2.6(3).

>Bob Rosen
>Boeing
>rosen@goofy.ds.boeing.com
>206-773-2852

S. Tucker Taft  stt@inmet.com
Intermetrics, Inc.
Cambridge, MA  02138
Newsgroups: comp.lang.ada
From: eyring@cc.utah.edu
Subject: Looking for Ada bindings to MIL-STD-1553B ???
Organization: University of Utah Computer Center
Date: 17 Nov 92 17:45:04 MDT

Looking for Ada Bindings to MIL-STD-1553B.

Are these available via anonymous ftp anywhere?  

I read in the AdaIC Newsletter, page 5. September 1992,
that they were available on the AdaIC Bulletin Board.
I looked there but couldn't find them.  

Does anyone know where the AJPO host is.  The article
says they are there also.

Can I ftp to it?

Thanks for your help in advance.

-- 
>Bob Witmer
>Eyring Corp., Flight Simulation Div.
>Salt Lake City, Utah
>eyring@cc.utah.edu