A Prolog Implementation of Dynamic Syntax

Dynamic Syntax: the Flow of Language Understanding (Kempson, Meyer-Viol, Gabbay, 2001)

Enter text to parse:
Context: Trees to display: Tree printing:
None
Previous sentence only
Entire history
Show all trees
Show complete trees when available, otherwise a selection
Show only complete trees
Show only the most likely tree
Display plain text trees
Display graphical trees

You can enter full sentences, fragments or individual words. You will be able to add more text incrementally later (the parse trees stay in memory).
You will also be able to generate strings from the parse trees (with any luck, getting back what you originally put in ...)

The lexicon currently includes:
NamesNounsVerbsPronounsMisc
john
bill
mary
london
paris
europe
january
february
aeroplane
airplane
boat
car
plane
train
book
hotel
room
table
ticket
trip
boy
girl
student
sugar
travel
arrive
begin
book
dislike
fly
hate
leave
like
sneeze
snore
start
stay
think
travel
want
wonder
i
he
her
him
it
me
she
you
what
who
which
that
a
an
the
every
no
some
Some example sentences that work:
"john snores"
"john likes mary"
"mary john likes"
"john thinks mary likes bill"
"john who snores sneezed"
"john who hates bill thinks mary likes him"
"a student who hates travel thinks mary likes the hotel"
"a boy who hates a hotel thinks mary likes the hotel that he hates"

and remember, DS is incremental! You can start with "john", or just "the", and see how the trees are built up as you go on. Turn on "show all trees" if you're really interested.

I'm afraid the tree printing display is very primitive - it works fine for simple sentences, but for more complex ones the nodes start nudging each other across the page.

Multiple trees will be given for many of the more complex examples, due to ambiguity caused by (a) restrictive vs. non-restrictive relative readings, and (b) rather weak attempts at pronoun resolution.

This implementation © Matthew Purver, 2002-9 Problems, comments, suggestions: mpurver AT dcs.qmul.ac.uk