SDL—A Description Language for Building NLP Systems

We present the system description language SDL that offers a declarative way of specifying new complex NLP systems from already existing modules with the help of three operators: sequence, parallelism, and unrestricted iteration. Given a system description and modules that implement a minimal interface, the SDL compiler returns a running Java program which realizes exactly the desired behavior of the original specification. The execution semantics of SDL is complemented by a precise formal semantics, defined in terms of concepts of function theory. The SDL compiler is part of the SProUT shallow language platform, a system for the development and processing of multilingual resources.