Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!travelers.mail.cornell.edu!news.kei.com!news.mathworks.com!uunet!in2.uu.net!allegra!alice!pereira
From: pereira@alta.research.att.com (Fernando Pereira)
Subject: Re: Strings in DCG-style Chart Parsing
In-Reply-To: gosse@let.rug.nl's message of Tue, 3 Oct 1995 09:57:58 GMT
X-Nntp-Posting-Host: alta.research.att.com
Message-ID: <PEREIRA.95Oct3195504@alta.research.att.com>
Sender: usenet@research.att.com (netnews <9149-80593> 0112740)
Reply-To: pereira@research.att.com
Organization: AT&T Bell Laboratories
References: <441e71$dp7@hobbes.cc.uga.edu>
	<PEREIRA.95Sep30104755@alta.research.att.com>
	<1995Oct3.095758.26601@let.rug.nl>
Date: Tue, 3 Oct 1995 23:55:04 GMT
Lines: 90

In article <1995Oct3.095758.26601@let.rug.nl> gosse@let.rug.nl (Gosse Bouma) writes:
   In article <PEREIRA.95Sep30104755@alta.research.att.com>,
   pereira@alta.research.att.com (Fernando Pereira) writes:

   > A bit of history. Colmerauer's original logic grammar formalism,
   > metamorphosis grammars, depended on the list representation of string
   > positions, because it allowed symbols to be pushed back into the input
   > stream, with rules such as
   > 
   > 	a, [b] --> c, d.
   > 
   > We coined the name "definite clause grammars" for the subset of
   > metamorphosis grammars lacking that possibility, which has the
   > property of not depending on the list representation. 

   The possibility of `pushing symbols back into the input string' is still
   available in sicstus. A while ago I was fiddling with term_expansion to get
   another representation for DCG's and found that the sicstus manual actually
   includes the following example of a dcg rule:

   is(N), [not] --> [aint].

   which is expanded to

   is(N,S0,[not|S]) :- 'C'(S0,aint,S).


   It is not so clear to me what the use of this particular mechanism is.
   The example is apparently intended to illustrate a particular analysis of
   negated auxiliaries in English. If anybody has ideas for other uses of this
   mechanism (that have some (computational) linguistic appeal), I would like to
   hear about them.

You can find applications of this feature of metamorphosis grammars in
the classics

@incollection(mgs,
   annote={Foundations; application; grammar formalism; parsing.},
   key={Colmerauer},
   author={Alain Colmerauer},
   title={Metamorphosis Grammars},
   publisher=springer,
   address=springeraddr,
   year={1978},
   editor={L. Bolc},
   booktitle={Natural Language Communication with Computers},
   note={First appeared as ``Les Grammaires de Metamorphose'',
Groupe d'Intelligence Artificielle, Universit\'{e} de Marseille II,
November 1975.}
)

@article(dahl-ajcl,
   annote={Application; natural language; grammar; semantic interpretation.},
   key={Dahl},
   title={Translating {Spanish} into Logic through Logic},
   author={Veronica Dahl},
   journal={American Journal of Computational Linguistics},
   volume={7}, number={3},pages={149-164},year={1981}
)

among others. Historically, this feature of metamorphosis grammar is
an easily implementable restriction of the context-sensitive rewriting
rules of Colmerauer's Q-systems, the precursor of logic grammars and
Prolog. The feature can be used to a variety of contraction and
movement phenomena.

In

@article(Pereira-81:xgs,
   title={Extraposition Grammars},
   author={Fernando C. N. Pereira},
   journal={Computational Linguistics},
   volume={7},
   number={4},
   pages={243--256},
   year={1981}
)

I argued for a more flexible logic grammar formalism to handle those
phenomena. Since then, Veronica Dahl have investigated a range further
extensions for context-sensitive rewriting and discontinuity. 


-- 
Fernando Pereira
2B-441, AT&T Bell Laboratories
600 Mountain Ave, Murray Hill, NJ 07974-0636
pereira@research.att.com


