Malaga is a software package developed by Björn Beutel for the development and application of grammars that are used for the analysis of words and sentences of natural languages. It contains a programming language for the modeling of morphology and syntax grammars and development tools. Malaga is licensed under the GPL.

Unfortunately, Björn's Malaga page is now defunct, but here's the source for Malaga 7.12. It's also available as a package for various Linux distributions.

I have written modules that allow you to work with Malaga grammars from Perl, Python, and Ruby programs. These modules greatly simplify the building of applications using linguistic knowledge.

Malaga: Perl interface to Malaga grammars

This module, informally also known as perlmalaga to avoid confusion, lets you work with analysis results of Malaga grammars directly from Perl programs.

Note: The link above points to the latest release, which has to be used in conjunction with libmalaga 6 (Malaga 6.8) or higher. Starting with version 7, libmalaga requires all input and output to be encoded in UTF-8. Thus all strings to be analyzed must be encoded in UTF-8, and all strings returned by analyses will be encoded in UTF-8.

Malaga: Python interface to Malaga grammars

This module, informally also known as PyMalaga, lets you work with analysis results of Malaga grammars directly from Python programs.

Note: You need at least Python 2.2 and libmalaga version 6 (Malaga 6.8). PyMalaga also works with Malaga 7.

RubyMalaga: Ruby interface to Malaga grammars.

This module lets you work with analysis results of Malaga grammars directly from Ruby programs.

Note: You need at least libmalaga version 6 (Malaga 6.8).

Warning: RubyMalaga has not yet been tested with Malaga 7 and current versions of Ruby.  In particular, you may run into problems with UTF-8.