Efficient Implementation of Unification-Based Grammars SHULY WINTNER and NISSIM FRANCEZ Contemporary linguistic formalisms such as LFG or HPSG have become so rigorous that it is now possible to view them as very high level declarative programming languages. Consequently, {\em grammars\/} for natural languages can be viewed as {\em programs}; this view enables the application of various methods and techniques that were proved useful for programming languages to the study of natural languages. This paper introduces such an application: an implementation technique that is common for logic programming languages, namely the use of an {\em abstract machine}, is applied to (a subset of) the \ale\ formalism, originally designed for specifying feature-structure based phrase-structure grammars. \amalia\ (Abstract MAchine for LInguistic Applications) is 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 {\em parsing\/} with respect to the original grammar. A variant of the compiler produces code for {\em 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, the use of \amalia\ results in a much improved performance over existing systems.