Tool Support for Language Extensibility
|Title:||Tool Support for Language Extensibility|
|Organization:||Blekinge Institute of Technology|
|Department:||Dept. of Computer Science and Business Administration (Institutionen för datavetenskap och ekonomi)
Dept. of Computer Science and Business Administration S-372 25 Ronneby
+46 455 780 00
|Abstract:||During the last years, one can recognise a development towards application domain languages and extensible language models. Due to their extended expressiveness, these language models have considerable advantages over rigid general purpose languages. However, a complicating factor in the use of extensible language models are the conventional compiler construction techniques. Compilers constructed using these techniques often are large entities that are highly complex, difficult to maintain and hard to reuse. As we have experienced, these characteristics clearly complicate extending existing compilers. As a solution to this, we developed an alternative approach to compiler construction is proposed, based on object-oriented principles. The approach is based on delegating compiler objects (dcos) that provide a structural decomposition of compilers in addition to the conventional functional decomposition. The dco approach supports modularisation and reuse of compiler specifications, such as lexer and parser speci
fications. We constructed an integrated tool set, letos, implementing the functionality of delegating compiler objects.