We present Amalia (Abstract MAchine for LInguistic Applications), an
abstract machine specifically tailored for processing ALE grammars. It
is composed of data structures and a set of instructions, augmented by
a compiler from the grammatical formalism to the abstract instructions,
and a (portable) interpreter of the abstract instructions. The effect
of each instruction is defined using a low-level language that can be
executed on ordinary hardware. Execution of the compiled code amounts
to parsing with respect to the original grammar. A variant of the
compiler produces code for generation.
The advantages of the abstract machine approach are twofold. From a
theoretical point of view, the abstract machine gives a well-defined
operational semantics to the grammatical formalism. From a practical
point of view, Amalia is the first system that employs a direct
compilation scheme for unification grammars that are based on typed
feature structures. The use of Amalia results in a much improved
performance over existing systems.