comp.lang.ada
 help / color / mirror / Atom feed
* Ada syntax checker: Help!
@ 2000-05-10  0:00 unix_boy
  2000-05-10  0:00 ` Ted Dennison
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: unix_boy @ 2000-05-10  0:00 UTC (permalink / raw)


     Can someone point me to a commercial ada95
syntax checker?  I am a non-programmer sysadmin
that has been tasked with purchasing a package
that will run on Win95/98.  All I need is syntax
checking.  I can't use freeware due to the way
this particular contract is written.  Help!  :O(


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ada syntax checker: Help!
  2000-05-10  0:00 Ada syntax checker: Help! unix_boy
@ 2000-05-10  0:00 ` Ted Dennison
  2000-05-12  0:00 ` Robert Dewar
  2000-05-12  0:00 ` Robert Dewar
  2 siblings, 0 replies; 6+ messages in thread
From: Ted Dennison @ 2000-05-10  0:00 UTC (permalink / raw)


In article <8fc93f$jgg$1@nnrp1.deja.com>,
  unix_boy@my-deja.com wrote:
>      Can someone point me to a commercial ada95
> syntax checker?  I am a non-programmer sysadmin
> that has been tasked with purchasing a package
> that will run on Win95/98.  All I need is syntax
> checking.  I can't use freeware due to the way
> this particular contract is written.  Help!  :O(

If you *must* purchase something, you might as well get a compiler, as
they aren't that expensive on Win32 platforms.

"syntax checker" is a bit vague too. For instance, there are lots
of tools out there that can recognize a file full of valid Ada
tokens. If you want to parse it to make sure it matches Ada's
grammar, that's a bit more work. If you want to ensure that it
will successfully compile, then you'd pretty much need a
compiler. But then, depending on what your setup is and what you
plan on doing with it, you might just need an the ASIS support of
a conforming compiler. Perhaps you should give a bit more detail on why
you think you only need a "syntax checker".

Also, I'd double check your contract wording. Including standalone GPL
programs in a commercial product is no problem at all, as long as you
don't try to modify the GPL program itself (and refuse to provide the
source of your modifications freely). What you can't typically do is
combine free software source and non-free source in the same executable.

--
T.E.D.

http://www.telepath.com/~dennison/Ted/TED.html


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ada syntax checker: Help!
  2000-05-10  0:00 Ada syntax checker: Help! unix_boy
  2000-05-10  0:00 ` Ted Dennison
@ 2000-05-12  0:00 ` Robert Dewar
  2000-05-12  0:00   ` Ted Dennison
  2000-05-12  0:00 ` Robert Dewar
  2 siblings, 1 reply; 6+ messages in thread
From: Robert Dewar @ 2000-05-12  0:00 UTC (permalink / raw)


In article <8fc93f$jgg$1@nnrp1.deja.com>,
  unix_boy@my-deja.com wrote:
>      Can someone point me to a commercial ada95
> syntax checker?  I am a non-programmer sysadmin
> that has been tasked with purchasing a package
> that will run on Win95/98.  All I need is syntax
> checking.  I can't use freeware due to the way
> this particular contract is written.  Help!  :O(

One day I should update my Ada 83 syntax checker, DASC
which is part of the commercial package of Dewar utilities
(haven't sold a copy for a while :-)

DASC performs full checking of Ada 83 syntax, stopping at
the first error with a reasonable error message. It is
about 12K bytes long, total, in x86 assembly language,
and runs at well over a million lines a minute on a 386.

I have not run it in a while on a faster machine, wait a
moment, let me do that in another window ......

OK, I made a one million line Ada source program of fairly
typical code, and syntax checked it on my 300MHz notebook,
it took under four seconds.

I would guess that on a decent fast PC, DASC is syntax
checking at approximately 40-60 million lines a minute.

No reason to think that it would be significantly slower in
Ada 95. It's surprising what you can do in efficient assembly
language :-)

Robert Dewar

P.S. I agree with the previous response, first check the exact
reason you need to use commercial software, by which I take it
to mean that you want to spend $$$$. Certainly I have no
objection to you spending $$$$ and indeed we will be happy to
provide you appropriate commercial technology here. If the
issue is that you need supported software, then this is
perfectly reasonable, and makes sense. Perhaps you can give
us a better idea of the requirements and environment here
behind this request.




Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ada syntax checker: Help!
  2000-05-10  0:00 Ada syntax checker: Help! unix_boy
  2000-05-10  0:00 ` Ted Dennison
  2000-05-12  0:00 ` Robert Dewar
@ 2000-05-12  0:00 ` Robert Dewar
  2 siblings, 0 replies; 6+ messages in thread
From: Robert Dewar @ 2000-05-12  0:00 UTC (permalink / raw)


In article <8fc93f$jgg$1@nnrp1.deja.com>,
  unix_boy@my-deja.com wrote:
>      Can someone point me to a commercial ada95
> syntax checker?  I am a non-programmer sysadmin
> that has been tasked with purchasing a package
> that will run on Win95/98.  All I need is syntax
> checking.  I can't use freeware due to the way
> this particular contract is written.  Help!  :O(

One day I should update my Ada 83 syntax checker, DASC
which is part of the commercial package of Dewar utilities
(haven't sold a copy for a while :-)

DASC performs full checking of Ada 83 syntax, stopping at
the first error with a reasonable error message. It is
about 12K bytes long, total, in x86 assembly language,
and runs at well over a million lines a minute on a 386.

I have not run it in a while on a faster machine, wait a
moment, let me do that in another window ......

OK, I made a one million line Ada source program of fairly
typical code, and syntax checked it on my 300MHz notebook,
it took under four seconds.

I would guess that on a decent fast PC, DASC is syntax
checking at approximately 40-60 million lines a minute.

No reason to think that it would be significantly slower in
Ada 95. It's surprising what you can do in efficient assembly
language :-)

Robert Dewar

P.S. I agree with the previous response, first check the exact
reason you need to use commercial software, by which I take it
to mean that you want to spend $$$$. Certainly I have no
objection to you spending $$$$ and indeed we will be happy to
provide you appropriate commercial technology here. If the
issue is that you need supported software, then this is
perfectly reasonable, and makes sense. Perhaps you can give
us a better idea of the requirements and environment here
behind this request.




Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ada syntax checker: Help!
  2000-05-12  0:00 ` Robert Dewar
@ 2000-05-12  0:00   ` Ted Dennison
  2000-05-12  0:00     ` Robert Dewar
  0 siblings, 1 reply; 6+ messages in thread
From: Ted Dennison @ 2000-05-12  0:00 UTC (permalink / raw)


In article <8fgfng$9ru$1@nnrp1.deja.com>,
  Robert Dewar <robert_dewar@my-deja.com> wrote:
> In article <8fc93f$jgg$1@nnrp1.deja.com>,
>   unix_boy@my-deja.com wrote:
> >      Can someone point me to a commercial ada95
> > syntax checker?  I am a non-programmer sysadmin
> > that has been tasked with purchasing a package
> > that will run on Win95/98.  All I need is syntax
> > checking.  I can't use freeware due to the way
> > this particular contract is written.  Help!  :O(
>
> One day I should update my Ada 83 syntax checker, DASC
> which is part of the commercial package of Dewar utilities
> (haven't sold a copy for a while :-)

So by "syntax checker" here, do you just mean verifying that the file
can be properly tokenized? Or does this tool verify that it parses OK
too?

The first can quite easily be done for Ada95 and Java using OpenToken.
( http://www.telepath.com/dennison/Ted/OpenToken/OpenToken.html ) It
comes with syntaxes designed for doing just that. And its compatable
with practicaly all commercial uses, as long as you don't require paid
support (althogh that could probably be arranged too...)

I dobut it is even a twentieth as fast as your checker hand-coded in x86
assebly though. Speed was not its primary goal, and noone has yet
bothered to try to optimize the source any. But if you were to try it on
the same sources, I'd be interested in the exact results.

--
T.E.D.

http://www.telepath.com/~dennison/Ted/TED.html


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ada syntax checker: Help!
  2000-05-12  0:00   ` Ted Dennison
@ 2000-05-12  0:00     ` Robert Dewar
  0 siblings, 0 replies; 6+ messages in thread
From: Robert Dewar @ 2000-05-12  0:00 UTC (permalink / raw)


In article <8fh1c1$sik$1@nnrp1.deja.com>,
  Ted Dennison <dennison@telepath.com> wrote:
> So by "syntax checker" here, do you just mean verifying that
> the file can be properly tokenized?

Of course not! That's lexical analysis. The notion of syntax
is very well defined in the Ada 83 RM Annex E, and what DASC
does, no more and no less, is to determine if the submitted
text can be generated by the grammar of Annex E.

Now it is true in fact that nearly all the time (in fact
about 90% is taken up on I/O and lexical analysis, so the
parsing does not add much). This is as expected.

The exact test file I used in presenting the results was
a million line file made up of multiple copies of the following
procedure:

   procedure a is
   begin
      x := y + z;
   --  that was an addition
   end;

with no blank lines

The time for a full parse of this file (wall clock time
including input/output) is:

   3.05 seconds (file is not in file cache)
   1.47 seconds (file is in file cache)

The measurements were done on a 300MHz thinkpad 770X (that's
an older model with a slow front side bus and a fairly slow
disk). But I was using OS/2, with HPFS386, which is considerably
faster file system than Linux or any of the Microsoft stuff.

> I dobut it is even a twentieth as fast as your checker
> hand-coded in x86 assebly though.

If you can come within a factor of 20 of this with your
tokenizer I would say that's excellent performance :-)

I am trying to dig up the sources of DASC, and if I can find
them I will make them available under the GPL for people to
play with!

I know they are on ancient backup media, but the question is
whether I have a convenient version that I can find easily!

Robert Dewar


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2000-05-12  0:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-05-10  0:00 Ada syntax checker: Help! unix_boy
2000-05-10  0:00 ` Ted Dennison
2000-05-12  0:00 ` Robert Dewar
2000-05-12  0:00   ` Ted Dennison
2000-05-12  0:00     ` Robert Dewar
2000-05-12  0:00 ` Robert Dewar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox