Interactive tool support for domain-specific languages
(1997)- Abstract
- Domain-specific languages are used in numerous problem domains, e.g. database handling, robot programming and numerical calculations. The main advantage of using such languages is the ease with which a problem within the domain can be expressed in the language. The resulting programs are easier to debug and maintain, and consist of higher quality code since the language constructs are close to the concepts of the domain. The drawback of using domain-specific languages has, until now, been the huge cost, both in terms of time and skill, in developing a language which covers the domain in a good way. This cost could be reduced by easy-to-use tools which support the language-design process in an interactive way. Furthermore, an interactive... (More)
- Domain-specific languages are used in numerous problem domains, e.g. database handling, robot programming and numerical calculations. The main advantage of using such languages is the ease with which a problem within the domain can be expressed in the language. The resulting programs are easier to debug and maintain, and consist of higher quality code since the language constructs are close to the concepts of the domain. The drawback of using domain-specific languages has, until now, been the huge cost, both in terms of time and skill, in developing a language which covers the domain in a good way. This cost could be reduced by easy-to-use tools which support the language-design process in an interactive way. Furthermore, an interactive programming environment for domain-specific languages would support the programmer in editing programs according to the syntax and static semantics of a language. The aim of this thesis is to present techniques for developing such interactive tool support for domain-specific languages, both at the language-design level and at the programming level. Rapid language prototyping can be supported by tools built on the principle of grammar interpretation. The programming environment then automatically adapts whenever the grammar is changed.
This thesis presents techniques for parsing and static-semantic analysis based on this principle. The resulting tools are used to support language-sensitive text editing and advanced semantic editing of both programs and grammars. The development of new languages can be further enhanced by reusing existing language specifications. Object-oriented modular grammars support such development of languages by combining a number of modules, or ‘building blocks’. Furthermore, multi-layered grammars can be used to design languages for multilevel systems where a language is implemented in terms of the routines of a library or framework. APPLAB, an interactive language laboratory and programming environment, has been implemented to support the techniques presented in this thesis. The system has been used in a number of case studies, including a study on robot programming where a full-sized language was implemented. Our experience shows that the presented techniques provide valuable support for interactive development of domain-specific languages, as well as enhanced programming support for such languages. (Less)
Please use this url to cite or link to this publication:
https://lup.lub.lu.se/record/83ad23db-1f53-4cfb-976d-3a33b573f78d
- author
- Bjarnason, Elizabeth
LU
- supervisor
-
- Görel Hedin LU
- organization
- publishing date
- 1997-11
- type
- Thesis
- publication status
- published
- subject
- pages
- 112 pages
- language
- English
- LU publication?
- yes
- id
- 83ad23db-1f53-4cfb-976d-3a33b573f78d
- alternative location
- https://fileadmin.cs.lth.se/sde/publications/theses/1997-ElizabethBjarnason-Lic.pdf
- date added to LUP
- 2025-10-31 10:54:51
- date last changed
- 2025-11-14 08:23:47
@misc{83ad23db-1f53-4cfb-976d-3a33b573f78d,
abstract = {{Domain-specific languages are used in numerous problem domains, e.g. database handling, robot programming and numerical calculations. The main advantage of using such languages is the ease with which a problem within the domain can be expressed in the language. The resulting programs are easier to debug and maintain, and consist of higher quality code since the language constructs are close to the concepts of the domain. The drawback of using domain-specific languages has, until now, been the huge cost, both in terms of time and skill, in developing a language which covers the domain in a good way. This cost could be reduced by easy-to-use tools which support the language-design process in an interactive way. Furthermore, an interactive programming environment for domain-specific languages would support the programmer in editing programs according to the syntax and static semantics of a language. The aim of this thesis is to present techniques for developing such interactive tool support for domain-specific languages, both at the language-design level and at the programming level. Rapid language prototyping can be supported by tools built on the principle of grammar interpretation. The programming environment then automatically adapts whenever the grammar is changed. <br/><br/>This thesis presents techniques for parsing and static-semantic analysis based on this principle. The resulting tools are used to support language-sensitive text editing and advanced semantic editing of both programs and grammars. The development of new languages can be further enhanced by reusing existing language specifications. Object-oriented modular grammars support such development of languages by combining a number of modules, or ‘building blocks’. Furthermore, multi-layered grammars can be used to design languages for multilevel systems where a language is implemented in terms of the routines of a library or framework. APPLAB, an interactive language laboratory and programming environment, has been implemented to support the techniques presented in this thesis. The system has been used in a number of case studies, including a study on robot programming where a full-sized language was implemented. Our experience shows that the presented techniques provide valuable support for interactive development of domain-specific languages, as well as enhanced programming support for such languages.}},
author = {{Bjarnason, Elizabeth}},
language = {{eng}},
note = {{Licentiate Thesis}},
title = {{Interactive tool support for domain-specific languages}},
url = {{https://fileadmin.cs.lth.se/sde/publications/theses/1997-ElizabethBjarnason-Lic.pdf}},
year = {{1997}},
}