Lightweight languages as software engineering tools

  • Authors:
  • Diomidis Spinellis;V. Guruprasad

  • Affiliations:
  • University of the Aegean, Karlovassi, Samos, Greece;IBM T.J. Watson Research Center, Yorktown Heights, NY

  • Venue:
  • DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software subsystems can often be designed and implemented in a clear, succinct, and aesthetically pleasing way using specialized linguistic formalisms. In cases 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, multiparadigm programming, the encapsulation of system level design, and 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 language implementation. Finally, 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.