{"title":"Bottom-up evaluation of attribute grammars with two queues","authors":"M. Naini","doi":"10.1109/SSST.1988.17125","DOIUrl":null,"url":null,"abstract":"The author presents a bottom-up evaluator for attribute grammars. Attribute grammars are among the best formalisms to specify the translation and semantics of the programming languages. The evaluator presented accomplishes the attribute evaluation in only one bottom-up pass, using two FIFO queues. The first queue holds the leaf attributes with known values the attribute queue. The reverse dependency graph shows the dependency of the attributes on each other and the other in which they are evaluated. These attributes give their values to their predecessor attributes. A predecessor attribute needs these values in order to be evaluated. The second queue holds the predecessor attributes of the first queue and is called the predecessor queue.<<ETX>>","PeriodicalId":345412,"journal":{"name":"[1988] Proceedings. The Twentieth Southeastern Symposium on System Theory","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1988-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"[1988] Proceedings. The Twentieth Southeastern Symposium on System Theory","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SSST.1988.17125","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
The author presents a bottom-up evaluator for attribute grammars. Attribute grammars are among the best formalisms to specify the translation and semantics of the programming languages. The evaluator presented accomplishes the attribute evaluation in only one bottom-up pass, using two FIFO queues. The first queue holds the leaf attributes with known values the attribute queue. The reverse dependency graph shows the dependency of the attributes on each other and the other in which they are evaluated. These attributes give their values to their predecessor attributes. A predecessor attribute needs these values in order to be evaluated. The second queue holds the predecessor attributes of the first queue and is called the predecessor queue.<>