Re: [Query] Tree-based parsing?

geert@sun3.iaf.nl (Geert Bosch)
4 May 1997 22:02:42 -0400

          From comp.compilers

Related articles
[Query] Tree-based parsing? jlilley@empathy.com (John Lilley) (1997-04-16)
Re: [Query] Tree-based parsing? fjh@mundook.cs.mu.OZ.AU (1997-04-18)
Re: [Query] Tree-based parsing? bear@sonic.net (Ray Dillinger) (1997-04-22)
Re: [Query] Tree-based parsing? geert@sun3.iaf.nl (1997-05-04)
Re: [Query] Tree-based parsing? nkramer@cs.cmu.edu (Nick Kramer) (1997-05-04)
Re: [Query] Tree-based parsing? scotts@metaware.com (Scott Stanchfield) (1997-05-08)
Re: [Query] Tree-based parsing? scotts@metaware.com (Scott Stanchfield) (1997-05-08)
Re: [Query] Tree-based parsing? wilson@cs.utexas.edu (1997-05-08)
| List of all articles for this month |
From: geert@sun3.iaf.nl (Geert Bosch)
Newsgroups: comp.compilers
Date: 4 May 1997 22:02:42 -0400
Organization: La Calandre Infortunee
References: 97-04-096 97-04-150
Keywords: parse, Ada

Ray Dillinger (bear@sonic.net) wrote:
      One thing that has probably blinded a lot of people to this
      approach is that you can't do it with Yacc. For a lot of compiler
      writers, the range of ideas they can have is limited to a certain
      extent by the tools they work with.


John Liley should have a look at the parser of GNAT, which parses
the Ada95 language in a top-down fashion. I know this is quite
different from the Yacc bottom-up method, but it might give a
refreshing view at parsing.


The GNAT parser is very fast and has extremely good error messages.
If you have forgotten a "begin", "end" or other essential syntax
element, but have indented systematically, the parser will use
indenting information to give the proper error message.


Of course you should consider that the GNAT parser has been
generated by one of the finest parser-generators that exist
at this moment.


You can find GNAT sources at ftp://cs.nyu.edu/pub/gnat


Regards,
      Geert
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.