26.12.2013 Views

A computational grammar and lexicon for Maltese

A computational grammar and lexicon for Maltese

A computational grammar and lexicon for Maltese

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 2<br />

Resource <strong>grammar</strong><br />

This chapter details the implementation of a <strong>computational</strong> <strong>grammar</strong> <strong>for</strong> <strong>Maltese</strong>, using the<br />

Grammatical Framework. Various phenomena in <strong>Maltese</strong> morphology <strong>and</strong> syntax are highlighted<br />

<strong>and</strong> their implementation in the resource <strong>grammar</strong> explained. We then look at the<br />

techniques used <strong>for</strong> testing the resource <strong>grammar</strong> <strong>and</strong> discuss its coverage. The chapter finishes<br />

by looking at some of the implementational problems encountered during development.<br />

2.1 Module structure<br />

The <strong>Maltese</strong> resource <strong>grammar</strong> consists of 28 GF modules <strong>and</strong> follows the same module structure<br />

as most of the other language implementations in the library. A module dependency graph<br />

<strong>and</strong> descriptions of the contents of each module can be found in Appendix A. In line with convention,<br />

all <strong>Maltese</strong> modules in the library are suffixed with the ISO 639-3 letter code Mlt. All<br />

modules are located in GF’s source code repository in the directory lib/src/maltese. More<br />

in<strong>for</strong>mation about accessing the source code can be found in Appendix D.<br />

A number of related languages in the RGL use a functor implementation, which allows<br />

them to share syntactic constructs which are common <strong>and</strong> only override what differs in each<br />

language. Examples include the Romance functor, which used in Catalan, French, Italian <strong>and</strong><br />

Spanish; the Sc<strong>and</strong>inavian functor <strong>for</strong> Danish, Norwegian (bokmål) <strong>and</strong> Swedish; <strong>and</strong> a Hindustani<br />

functor which powers the Hindi <strong>and</strong> Urdu resource <strong>grammar</strong>s. The primary advantage of<br />

having a functor implementation is code re-use, however the process of designing a common<br />

functor can be quite involved.<br />

The <strong>Maltese</strong> <strong>grammar</strong> does not use such an implementation. Despite containing elements<br />

of both Semitic <strong>and</strong> Romance morphology, there is simply not enough in common with other<br />

languages in the library to warrant the extra work involved in setting up a functor. Additionally,<br />

the two languages arguably most closely related to <strong>Maltese</strong> — Arabic <strong>and</strong> Hebrew — do<br />

not have complete RGL implementations.<br />

18

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!