A computational grammar and lexicon for Maltese
A computational grammar and lexicon for Maltese
A computational grammar and lexicon for Maltese
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