Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!delmarva.com!internetMCI!newsfeed.internetmci.com!EU.net!news2.EUnet.fr!cnet!tchang!dumant
From: dumant@tchang.issy.cnet.fr (Bruno DUMANT)
Subject: Re: Strings in DCG-style Chart Parsing
Message-ID: <1995Oct16.112350.12672@cnet.fr>
Sender: dumant@tchang (Bruno DUMANT)
Nntp-Posting-Host: tchang
Organization: Centre National d'Etudes des Telecommunications
References: <PEREIRA.95Sep30104755@alta.research.att.com> <1995Oct3.095758.26601@let.rug.nl> <PEREIRA.95Oct3195504@alta.research.att.com> <4563vn$aj7@idefix.CS.kuleuven.ac.be>
Date: Mon, 16 Oct 1995 11:23:50 GMT
Lines: 26

In article <4563vn$aj7@idefix.CS.kuleuven.ac.be>, tarau@CS.kuleuven.ac.be (Paul
Tarau) writes:
|> - there's no simple and efficient way to translate  multiple-stream 
|>   DCGs as Peter VanRoy's extended DCGs (also used in Wild-Life).
|>   Translation based implementations of EDCGs need extra
|>   declarations and result in a fairly complex preprocessor

  The accumulator preprocessor of Wild-Life can't be simply reduced
to a multiple-stream DCG expander, and goes far beyond what has
been done in aquarius by Peter Van Roy. In particular, the
possibility of scoping, composing, reversing accumulators is very
expressive. These features can't be implemented like HAGs.

The accumulator declarations are anyway necessary if you want to
describe accumulation mechanisms different from that of DCGs.  

|> - source-level debugging is awkward in the presence of DCG 
|>   translation (as it is the case also with macro-intensive C or Lisp).

Sure... The wild-life preprocessor contains a macro definition
package that is very useful, but the expanded code is fairly hard to
read and to debug. I don't think it means that these mechnisms sould
not be used, but rather that specific debugging tools should be
developped.  

   Bruno Dumant
