[comp.lang.ada] INFO-ADA Digest V88 #145

garym@telesoft.UUCP (Gary Morris @flash) (06/14/88)

INFO-ADA Digest             Mon, 13 Jun 88       Volume 88 : Issue 145

Today's Topics:
                        Ada mode for GNU Emacs
                    ATIP news from AdaData + humor
                       Conditional compilation
----------------------------------------------------------------------

Date: Sun, 12 Jun 88 13:22:23 EDT
>From: sdl@mitre-bedford.ARPA (Litvintchouk)
Subject: Ada mode for GNU Emacs

I tried to post this message last week but our MILNET connection was
down then.  So I'm reposting it again just to be sure it gets thru....

> Does anyone have or know of an ada-mode, similar to c-mode, to assist
> with writing ada programs in GNU emacs?  I am looking for something which
> can parse Ada; we may add features supporting static semantic checking.

There are several GNU Emacs "Ada modes" floating around.  However, the
only one I know of that can actually parse Ada source code is "Leif,"
described in the following posting to the info-gnu-emacs mailing list
(appended after my signature).

Steven Litvintchouk
MITRE Corporation
Bedford, MA  01730
(617)271-7753

>From liberte Tue May 24 00:51:43 1988
To: info-gnu-emacs@prep.ai.mit.edu
Subject: Announcing: Leif

Our incremental parser with GNU Emacs front end, called Leif, is now available.

Leif allows you to edit your program with normal Emacs commands and then
text changes are automatically sent to the incremental parser.  With
additional commands you can ask for the position of syntax errors,
select "phrases" of your program, display the syntax structure, and
determine legal tokens.

leif-mode is a minor mode within Emacs.  Thus you can use Leif on top
of a major mode such as c-mode.  vip-mode, a "global" mode, may also
be used with leif-mode if you prefer vi commands.

Leif uses a bison grammar and a lex specification (someday flex) to
specify a language.  Leif is table driven so that no language
dependent code exists in the Emacs lisp code or incremental parser.
Language descriptions are included for Pascal, Ada and a large subset
of C.  A single Emacs session may edit in several languages in several
different buffers.

The changes to the distributed GNU Emacs 18.50 are small.  Two buffer
local variables, before-change-hook and after-change-hook, are added.
Any changes to the buffer's text cause a call to the
before-change-hook function before the change is made and the
after-change-hook function after the change is made.  Also, to make
temporary text highlighting more convenient, a function was added
to force screen update even with pending input.

Leif may be obtained via anonymous ftp from a.cs.uiuc.edu in the
subdirectory pub/Leif, or via uucp in the subdirectory Leif.  The file
README.DIST contains information to help decide which files to
retrieve.  If you already have GNU Emacs 18.50 and only want the lisp
code and the diffs for Emacs, the compressed tar file
diff-18.50+leif.Z is one of those files.  Troff documentation is
available in the file leif-doc.tar.Z.

If you are unable to access the files via ftp or uucp, please contact us.
Please send Leif related queries to ihnp4!uiucdcs!leif or leif@a.cs.uiuc.edu

William Smith,	Dan LaLiberte,	Roy Campbell

------------------------------

Date: Sun 12 Jun 88 12:44:54-PDT
>From: CONTR47@NOSC-TECR.ARPA
Subject: ATIP news from AdaData + humor

In answer to someone's inquiry about ATIP funding I quote from
AdaData, May 19988 "...it was made clear that the program (ATIP)
would effectively be discontinued as a result of AJPO budget cuts for 1989. 
However, AJPO personnel seemed to be taking the cuts philosophically: In
point of fact, the position of Ada within the military may have reached the
point at which Ada is, in effect self-inserting."
  Well, maybe that explains the pain I have experienced trying
to apply Ada to realtime systems (humor attempt).
regards, sam harbaugh
---------------------

------------------------------

Date: 13 Jun 88  1:24 +0100
>From: Steinar Haug <haug%vax.runit.unit.uninett@TOR.nta.no>
Subject: Conditional compilation

Hi,

I'm developing programs for both DEC VAX (VAX/VMS Ada compiler) and
SUN-3 (Alsys Ada compiler). I need to use some form of conditional
compilation. The Alsys compiler has the BEGIN_COMPILE/END_COMPILE
pragmas to control the compilation but I have not found any similar
mechanism for the VAX/VMS compiler. Can anybody out in Adaland tell
me how to do conditional compilation with the VAX/VMS compiler?

The LRM contains a reference [10.6] to conditional compilation but
it seems rather cryptic and it is not obvious to me how I could use
it in practice.

Steinar Haug             ! ARPA:        haug%vax.runit.unit.uninett@tor.nta.no 
Database Research Group  !   or:        steinar@tor.nta.no                     
Computing Research Center! EAN(X.400):  haug@vax.runit.unit.uninett            
 University of Trondheim ! BITNET/EARN: haug@norunit                           
7034 Trondheim, NORWAY   ! VMS Mail:    psi%02422530001003::12423              
                         !       or:    psi%0242211000114::z_haug_s            

------------------------------

End of INFO-ADA Digest
******************************