Dialogue system grammars using GF resource.

AR 16/5/2006

Functionality and purpose

Dialogue system abstract syntax + concrete syntaxes for different languages. One of them is Prolog (with some resemblance to dialogue moves in GoDiS).

The purpose is to show how new systems can be built for new domains just by specifying just two things:

This is based on two library elements

In general, the only kind of elements that need to be added are constants (0-place fun's) of the following categories from Dialogue.gf.

    Kind ;             -- e.g. Room
    Object Kind ;      -- e.g. Kitchen
    Oper0 ;            -- e.g. Stop
    Oper1 Kind ;       -- e.g. Play
    Oper2 Kind Kind ;  -- e.g. Add
    Move ;             -- e.g. MorningMode

Files in this directory

Files (for X = Eng, Fin, Fre, Prolog, Swe):

Files provided as library to build on:

    Dialogue.gf   -- base dialogue grammar
    DialogueX.gf  -- implementation instance
    DialogueI.gf  -- implementation functor
  
    ResProlog.gf  -- help constructs for Prolog terms
  
    Weekday.gf    -- untility grammar with weekdays
    WeekdayX.gf
  
    AuxDialogue.gf-- interface of auxiliary resource-defined opers
    AuxX.gf       -- instances for different languages

Files implementing two examples.

    Agenda.gf     -- application grammar for agenda
    AgendaX.gf
  
    Lights.gf     -- application grammar for lights
    Lights.gf

Files needed to build a new application

To build a new application for domain Dom, you thus need

    Dom.gf        -- introduce fun's in Kind, Object, Oper0, Oper1, Oper2
    DomX.gf       -- concrete syntax of the new fun's for language X

Some tests

You first need to do, with the latest resource grammar version,

Here are some other commands:

The last one is the coolest - but you may need to enable the speech_input command by installing ATK and recompiling GF.