4.2.1 Ideal Syntax Rules

The syntax rules behind the implemented ones.

Here are some DCG rules that license a number of semantically important constructions: Proper names, determiners, pronouns, relative clauses, the copula construction, and coordination. In addition, the first two rules allow us to form discourses by stringing together sentences.

The DCG we would like to use

s--> [if], s, [then], s.      
s--> np, vp.                  
 
np--> np, coord, np.              
np--> det, noun.                  
np--> pn.                         
np--> whnp.
np--> whdet, noun.
 
noun--> noun, coord, noun.         
noun--> noun.                       
noun--> adj, noun.
noun--> noun, pp.                 
noun--> noun, rc.                  
noun--> noun, coord, noun.
 
vp--> vp, coord, vp.  
vp--> v(fin).
vp--> v(fin).  
vp--> mod, v(inf).
 
v(I)--> v(I), coord, v(I).
v(I)--> tv(I), np.
v(I)--> iv(I).  
v(fin)--> cop, np.  
v(fin)--> cop, neg, np.
 
pp--> prep, np.
rc--> relpro, vp.

However these are not quite the rules we're actually going to use, for the following reason: The coordination rules are left-recursive, hence the standard Prolog DCG interpreter will loop when given this grammar. As we do want to give coordination examples while not implementing any parser that deals with left-recursive rules, we're going to adopt adopt an easy fix for this problem.


Aljoscha Burchardt, Stephan Walter, Alexander Koller, Michael Kohlhase, Patrick Blackburn and Johan Bos
Version 1.2.5 (20030212)