Matches in SemOpenAlex for { <https://semopenalex.org/work/W2106403726> ?p ?o ?g. }
- W2106403726 abstract "Programming languages are the main tools used to describe models of the real world and algorithms which manipulate these models. Over time much effort has been devoted to the task of making programming languages more high-level by enhancing their expressiveness, bringing it closer to the way the programmer thinks and reasons. The development of object-oriented programming languages is one important step in this direction. Object-oriented languages include several abstraction mechanisms to support real world modelling. The resulting models represent a balanced view of data and computation aspects. Declarative programming is another important principle, offering features to build general libraries of functions. The model of programming is here clean and simple: the programmer specifies a result as a function of others, thereby concentrating on what relationsships there are between values rather than on the order of computations. This thesis deals with techniques for making specifications of computations on abstract syntax trees more high-level. Such computations are performed in different language-based tools e.g., compilers, smart syntax-sensitive editors, software metric tools, etc. Our basis is Reference Attributed Grammars (RAGs), which combines object-oriented features with declarative programming to specify computations on abstract syntax trees. RAGs have proven useful e.g., for performing static-semantic analysis of object-oriented languages. A RAG is an extension of traditional or classical attribute grammars (AGs) which is a formalism in which the static semantics of a programming language can be specified using a declarative approach. Traditional AGs are often considered clumsy and difficult to use for some aspects of compiler related tasks, for example name- and type-analysis of languages with complex scope rules. By allowing references between distant nodes in the AST the RAG formalism facilitates these tasks. The object-oriented view of the grammar used in RAGs is a conceptual extension of AGs which make it possible to apply all the object-oriented advantages. In the thesis we deal with extensions of RAGs and how they can be combined to facilitate tasks further for the attribute grammar author. We also explore applications of the combined extensions. Furthermore, we discuss evaluation techniques for extended AG formalisms. Some extensions are formal, e.g., allowing cyclic dependencies between attribute instances while others can be characterized as conceptual. Conceptual extensions include the object-oriented modelling of the grammar and modularization concepts. Even in extended AG formalisms some specifications can be complicated to express while their equivalent imperative style implementations are almost trivial. Another objective of this thesis is therefore to show how the declarative approach used in attribute grammars can be combined with imperative techniques in a tool using aspect-oriented modularization and where modules can be implemented in either imperative or declarative style. The thesis consist of an introduction and three papers. The first paper deals with the application of RAGs to a new problem area; program visualization. The second paper describes a practical system for RAGs, based on aspect-oriented programming and the combination of imperative and declarative programming. The third paper describes a formal extension of RAGs supporting circular dependencies (CRAGs). The extended formalism opens up new application areas which is also discussed in the paper. The techniques have all been implemented and tested in practice. Our tool JastAdd incorporates the extended AG formalisms. Its modularization concept also allows imperative style modules to be freely combined with AG modules. An automatic evaluator construction capability that can handle the extended formalisms has also been developed. (Less)" @default.
- W2106403726 created "2016-06-24" @default.
- W2106403726 creator A5066900360 @default.
- W2106403726 date "2003-01-01" @default.
- W2106403726 modified "2023-09-25" @default.
- W2106403726 title "Applications and Extensions of Reference Attributed Grammars" @default.
- W2106403726 cites W122796551 @default.
- W2106403726 cites W1491878511 @default.
- W2106403726 cites W1511091135 @default.
- W2106403726 cites W1528750836 @default.
- W2106403726 cites W1545406788 @default.
- W2106403726 cites W1561723469 @default.
- W2106403726 cites W1569821350 @default.
- W2106403726 cites W1587962604 @default.
- W2106403726 cites W1596741474 @default.
- W2106403726 cites W1605034451 @default.
- W2106403726 cites W1610570299 @default.
- W2106403726 cites W1712062258 @default.
- W2106403726 cites W1777902499 @default.
- W2106403726 cites W1792279333 @default.
- W2106403726 cites W1865673517 @default.
- W2106403726 cites W1893764147 @default.
- W2106403726 cites W1962203369 @default.
- W2106403726 cites W1964071625 @default.
- W2106403726 cites W1966340850 @default.
- W2106403726 cites W1980217707 @default.
- W2106403726 cites W1981992674 @default.
- W2106403726 cites W1983346515 @default.
- W2106403726 cites W1986767692 @default.
- W2106403726 cites W2004155726 @default.
- W2106403726 cites W2029414465 @default.
- W2106403726 cites W2058249735 @default.
- W2106403726 cites W2086238344 @default.
- W2106403726 cites W2094282293 @default.
- W2106403726 cites W2109853339 @default.
- W2106403726 cites W2113209389 @default.
- W2106403726 cites W2154093923 @default.
- W2106403726 cites W2158747086 @default.
- W2106403726 cites W2158769159 @default.
- W2106403726 cites W2160037783 @default.
- W2106403726 cites W2166894669 @default.
- W2106403726 cites W3006550678 @default.
- W2106403726 cites W75415634 @default.
- W2106403726 cites W87677312 @default.
- W2106403726 hasPublicationYear "2003" @default.
- W2106403726 type Work @default.
- W2106403726 sameAs 2106403726 @default.
- W2106403726 citedByCount "0" @default.
- W2106403726 crossrefType "dissertation" @default.
- W2106403726 hasAuthorship W2106403726A5066900360 @default.
- W2106403726 hasConcept C11164408 @default.
- W2106403726 hasConcept C146206909 @default.
- W2106403726 hasConcept C154945302 @default.
- W2106403726 hasConcept C169590947 @default.
- W2106403726 hasConcept C184337299 @default.
- W2106403726 hasConcept C199305712 @default.
- W2106403726 hasConcept C199360897 @default.
- W2106403726 hasConcept C2778514511 @default.
- W2106403726 hasConcept C34165917 @default.
- W2106403726 hasConcept C41008148 @default.
- W2106403726 hasConcept C50033165 @default.
- W2106403726 hasConcept C53893814 @default.
- W2106403726 hasConcept C60048249 @default.
- W2106403726 hasConcept C80444323 @default.
- W2106403726 hasConcept C96315309 @default.
- W2106403726 hasConceptScore W2106403726C11164408 @default.
- W2106403726 hasConceptScore W2106403726C146206909 @default.
- W2106403726 hasConceptScore W2106403726C154945302 @default.
- W2106403726 hasConceptScore W2106403726C169590947 @default.
- W2106403726 hasConceptScore W2106403726C184337299 @default.
- W2106403726 hasConceptScore W2106403726C199305712 @default.
- W2106403726 hasConceptScore W2106403726C199360897 @default.
- W2106403726 hasConceptScore W2106403726C2778514511 @default.
- W2106403726 hasConceptScore W2106403726C34165917 @default.
- W2106403726 hasConceptScore W2106403726C41008148 @default.
- W2106403726 hasConceptScore W2106403726C50033165 @default.
- W2106403726 hasConceptScore W2106403726C53893814 @default.
- W2106403726 hasConceptScore W2106403726C60048249 @default.
- W2106403726 hasConceptScore W2106403726C80444323 @default.
- W2106403726 hasConceptScore W2106403726C96315309 @default.
- W2106403726 hasLocation W21064037261 @default.
- W2106403726 hasOpenAccess W2106403726 @default.
- W2106403726 hasPrimaryLocation W21064037261 @default.
- W2106403726 hasRelatedWork W1511091135 @default.
- W2106403726 hasRelatedWork W189113341 @default.
- W2106403726 hasRelatedWork W1946961902 @default.
- W2106403726 hasRelatedWork W2032738760 @default.
- W2106403726 hasRelatedWork W2064503724 @default.
- W2106403726 hasRelatedWork W2089143460 @default.
- W2106403726 hasRelatedWork W2093659090 @default.
- W2106403726 hasRelatedWork W2108487417 @default.
- W2106403726 hasRelatedWork W2118406833 @default.
- W2106403726 hasRelatedWork W2126899230 @default.
- W2106403726 hasRelatedWork W2137236134 @default.
- W2106403726 hasRelatedWork W2157226141 @default.
- W2106403726 hasRelatedWork W2235113232 @default.
- W2106403726 hasRelatedWork W2262890426 @default.
- W2106403726 hasRelatedWork W2297998882 @default.
- W2106403726 hasRelatedWork W2471419789 @default.
- W2106403726 hasRelatedWork W2544648223 @default.