Assignment CSA305 2000/2001


The aim of the assignment is to consolidate knowledge concerning grammar design and understanding of parsing algorithms.

New Deadline: Wednesday 7th February.

This assignment is worth 30% of the marks for the credit.

  1. Implement a grammar formalism that allows you to specify grammar rules, lexical entries and constraints in a DCG-like way. The main differences between your formalism and DCG is that it will permit the use of left recursive rules such as
    np(N) -> np(N1), [and], np(N2) { f(N,N1,N2) }.
    You will need to design a parsing algorithm which which can deal with such rules without going into a loop. [5 hours (30%)]

  2. Look at these texts carefully. Give a brief overview to illustrate your understanding of the syntactic properties of the main sentence types and to motivate your answer to the next question. [2 hours (15%)]

  3. Write a grammar/lexicon which covers all the sentences, and give a few examples of respective parse trees. [5 hours (30%)]

  4. Modify your grammar so that for every complete parse of a given sentence it outputs a list of all head nouns of every NP in the sentence, so that for example

    ?- parse(['Clinton',signs,temporary,export,law],HeadNouns).
    HeadNouns=['Clinton',law]

    [3 hours (25%)].


[Wed Dec 10 19:40:31 2000]