{"title":"An object-oriented metaprogramming system","authors":"O. Madsen, C. Nogaard","doi":"10.7146/DPB.V16I236.7592","DOIUrl":null,"url":null,"abstract":"The Mjolner programming environment is discussed. A number of tools in this environment are metaprograms, i.e., programs that manipulate other programs. The metaprogramming system is grammar-based in the sense that a metaprogramming tool may be generated from the grammar of any language. For each syntactic category of the language, a corresponding class is generated. The syntactic hierarchy of the grammar is mapped into a corresponding class hierarchy. This object-oriented representation of programs is further exploited by including a set of more general classes that view a program as an abstract syntax tree and by allowing the user to add semantic attributes in subclasses.<<ETX>>","PeriodicalId":148246,"journal":{"name":"[1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track","volume":"70 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"31","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"[1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.7146/DPB.V16I236.7592","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 31
Abstract
The Mjolner programming environment is discussed. A number of tools in this environment are metaprograms, i.e., programs that manipulate other programs. The metaprogramming system is grammar-based in the sense that a metaprogramming tool may be generated from the grammar of any language. For each syntactic category of the language, a corresponding class is generated. The syntactic hierarchy of the grammar is mapped into a corresponding class hierarchy. This object-oriented representation of programs is further exploited by including a set of more general classes that view a program as an abstract syntax tree and by allowing the user to add semantic attributes in subclasses.<>