{"title":"参考属性语法控制的图重写:动机和概述","authors":"Christoff Bürger","doi":"10.1145/2814251.2814257","DOIUrl":null,"url":null,"abstract":"Reference attribute grammars are a well-known language engineering technique for the implementation of semantic analyses. Reference attributes provide declarative means to extend abstract syntax trees to graphs and analyse such graphs; they are well-suited to deduce and reason about abstract syntax graphs. Efficient attribute re-evaluation in case of abstract syntax graph changes and a systematic integration of attribute-based analyses with further rewrite-based transformations are open research problems however. To solve these problems, a novel incremental syntax-directed compiler-compiler technique is presented, that seamlessly combines reference attribute grammars and graph rewriting. The presented technique not only permits incremental reference attribute evaluation, but also the reuse of analyses to ease the specification of, and guide, rewrite-based transformations. It enables efficient, mutually dependent, memoized analyses and transformations. The paper motivates and explains the concepts of such a reference attribute grammar controlled graph rewriting. For evaluation, a reference implementation is used to specify fUML Activity Diagram and Petri net interpreters.","PeriodicalId":354784,"journal":{"name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":"{\"title\":\"Reference attribute grammar controlled graph rewriting: motivation and overview\",\"authors\":\"Christoff Bürger\",\"doi\":\"10.1145/2814251.2814257\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Reference attribute grammars are a well-known language engineering technique for the implementation of semantic analyses. Reference attributes provide declarative means to extend abstract syntax trees to graphs and analyse such graphs; they are well-suited to deduce and reason about abstract syntax graphs. Efficient attribute re-evaluation in case of abstract syntax graph changes and a systematic integration of attribute-based analyses with further rewrite-based transformations are open research problems however. To solve these problems, a novel incremental syntax-directed compiler-compiler technique is presented, that seamlessly combines reference attribute grammars and graph rewriting. The presented technique not only permits incremental reference attribute evaluation, but also the reuse of analyses to ease the specification of, and guide, rewrite-based transformations. It enables efficient, mutually dependent, memoized analyses and transformations. The paper motivates and explains the concepts of such a reference attribute grammar controlled graph rewriting. For evaluation, a reference implementation is used to specify fUML Activity Diagram and Petri net interpreters.\",\"PeriodicalId\":354784,\"journal\":{\"name\":\"Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering\",\"volume\":\"8 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-10-26\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"14\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2814251.2814257\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2814251.2814257","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Reference attribute grammar controlled graph rewriting: motivation and overview
Reference attribute grammars are a well-known language engineering technique for the implementation of semantic analyses. Reference attributes provide declarative means to extend abstract syntax trees to graphs and analyse such graphs; they are well-suited to deduce and reason about abstract syntax graphs. Efficient attribute re-evaluation in case of abstract syntax graph changes and a systematic integration of attribute-based analyses with further rewrite-based transformations are open research problems however. To solve these problems, a novel incremental syntax-directed compiler-compiler technique is presented, that seamlessly combines reference attribute grammars and graph rewriting. The presented technique not only permits incremental reference attribute evaluation, but also the reuse of analyses to ease the specification of, and guide, rewrite-based transformations. It enables efficient, mutually dependent, memoized analyses and transformations. The paper motivates and explains the concepts of such a reference attribute grammar controlled graph rewriting. For evaluation, a reference implementation is used to specify fUML Activity Diagram and Petri net interpreters.