Title
Lightweight languages as software engineering tools
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.
Year
Venue
Keywords
1997
DSL
lightweight language,software development process support,language implementation,implementation technique,specialized lightweight language,principal language,complex constant,language processor,development environment,complicated development process,software engineering tool,system level design,software development process
Field
DocType
Citations 
User interface specification,Software Engineering Process Group,Software design,Programming language,Software engineering,Package development process,Computer science,Software development process,Computer-aided software engineering,Software construction,Software development
Conference
14
PageRank 
References 
Authors
1.46
12
2
Name
Order
Citations
PageRank
Diomidis Spinellis12023178.89
V. Guruprasad2141.80