Conference on Domain-Specific Languages, 1997
Lightweight Languages as Software Engineering Tools
University of the Aegean
IBM T.J. Watson Research Center
Software subsystems can often be
designed and implemented in
a clear, succinct, and aesthetically pleasing way
using specialized linguistic formalisms.
where such a formalism is incompatible with
the principal language of implementation,
we have devised specialized lightweight languages.
Such cases include
the use of repeated program code or data,
the specification of complex constants,
the support of a complicated development process,
the implementation of systems
not directly supported by the development environment,
the encapsulation of system level design,
other complex programming situations.
We describe applications and subsystems
that were implemented using this approach
in the areas of
user interface specification,
software development process support,
text processing, and
we analyze a number of implementation techniques for
lightweight languages based on
the merciless exploitation of existing
language processors and tools, and
the careful choice of their syntax and semantics.
- View the full text of this paper in
HTML form and
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.