×

通过循环非终结符属性进行声明性重写。 (英文) Zbl 1387.68150号

摘要:引用属性语法(RAG)为实现编程语言编译器和其他工具提供了一种实用的声明性方法。RAG以前已经扩展到支持非终结属性(也称为高阶属性)、循环属性和抽象语法树的上下文相关声明性重写。在前面的工作中,没有考虑这些扩展之间的相互依赖性。在本文中,我们将研究这些扩展如何进行交互,并且仍然可以很好地定义。我们引入了一种广义求值算法,该算法可以处理循环属性和重写相互依赖的语法。为此,我们引入了循环非终结属性,并展示了RAG重写是如何等价于此类属性的。

MSC公司:

2012年第68季度 语法和重写系统
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[6] 阿佩尔,S。;Kolesnikov,S。;利比希,J。;卡斯特纳,C。;Kuhlemann,M。;Leich,T.,面向特征编程中的访问控制,科学计算程序,77,3,174-187(2012)
[7] Knuth,D.E.,无语境语言的语义,数学系统理论,2,2,127-145(1968),更正:数学系统理论1971:5(1);95-6 ·Zbl 0169.01401号
[10] Jones,L.G.,循环属性文法的有效评估,ACM Trans Program Lang Syst,12,3,429-462(1990)
[11] Magnusson,E。;Hedin,G.,《循环引用属性文法及其评估和应用》,科学计算程序,68,1,21-37(2007)·Zbl 1188.68166号
[12] Söderberg,E。;埃克曼,T。;赫丁,G。;Magnusson,E.,抽象语法树级的可扩展程序内流分析,科学计算程序,78,10,1809-1827(2013)
[13] 埃克曼,T。;Hedin,G.,可重写引用属性文法,(Odersky,M.,ECOOP 2004-面向对象编程,计算机科学讲义(2004)第3086卷,施普林格:施普林格-柏林-海德堡),147-71 doi:10.1007/978-3-540-24851-4_7。统一资源定位地址http://dx.doi.org/10.1007/978-3-540-24851-4_7
[14] 埃克曼,T。;Hedin,G.,《使用jastadd进行java模块化名称分析》,(Lämmel,R.;Saraiva,J.;Visser,J.,《软件工程中的生成和转换技术》,计算机科学讲义第4143卷(2006年),施普林格:施普林格-柏林-海德堡),422-36 doi:10.1007/11877028_18。统一资源定位地址http://dx.doi.org/10.1007/11877028_18
[15] 埃克曼,T。;Hedin,G.,JastAdd系统-模块化可扩展编译器结构,科学计算程序,69,1-3,14-26(2007)·Zbl 1147.68437号
[16] Söderberg,E。;Hedin,G.,Circular high-order reference attribute grammars,(Erwig,M.;Paige,R.;Van Wyk,E.,《软件语言工程》,计算机科学讲义第8225卷,Springer International Publishing(2013)),302-21。doi:10.1007/978-3-319-02654-117。统一资源定位地址http://dx.doi.org/10.1007/978-3-319-02654-1_17
[17] Jourdan,M.,属性文法的最佳时间递归评估器,(Paul,M.;Robinet,B.,国际编程研讨会,计算机科学讲稿第167卷(1984),Springer:Springer-Berlin-Heidelberg),167-78·Zbl 0539.68068号
[22] 布莱克本,S.M。;麦金利,K.S。;加纳,R。;霍夫曼,C。;A.M.Khan。;Bentzur,R.,《醒醒并闻到21世纪咖啡估值方法》,Commun ACM,51,8,83-89(2008)
[23] Söderberg,E。;Hedin,G.,《引用属性文法的自动选择性缓存》(Malloy,B.;Staab,S.;van den Brand,M.,《软件语言工程》,计算机科学讲义(2011)第6563卷,施普林格:施普林格-柏林-海德堡),2-21。doi:10.1007/978-3-642-19440-5_2。统一资源定位地址http://dx.doi.org/10.1007/978-3-642-19440-5_2
[24] Boyland,J.T.,远程属性文法,J ACM,52,4,627-687(2005)·Zbl 1316.68060号
[25] Visser,E.,Stratego:一种基于重写策略的程序转换语言,Stratego 0.5的系统描述,(Middeldorp,A.,重写技术和应用,计算机科学讲义(2001)第2051卷,Springer:Springer-Berlin-Heidelberg),357-61。doi:10.1007/3-540-45127-727。统一资源定位地址http://dx.doi.org/10.1007/3-540-45127-7_27 ·Zbl 0981.68679号
[26] van den Brand,M。;van Deursen,A。;海林,J。;德容,H。;de Jonge,M。;Kuipers,T。;Klint,P。;Moonen,L。;Olivier,P。;谢尔德,J。;文朱,J。;维瑟,E。;Visser,J.,《asf+sdf元环境:基于组件的语言开发环境》,(Wilhelm,R.,《编译器构造》,计算机科学讲义(2001)第2027卷,施普林格:施普林格-柏林-海德堡),365-70。doi:10.1007/3-540-45306-7_26。统一资源定位地址http://dx.doi.org/10.1007/3-540-45306-7_26 ·Zbl 0977.68762号
[27] Cordy,J.R.,TXL源转换语言,科学计算程序,61,3,190-210(2006)·Zbl 1102.68434号
[29] Van Wyk,E。;de Moor,O。;Backhouse,K。;Kwiatkowski,P.,模块化语言设计的属性文法转发,(Horspool,R.,编译器构造,计算机科学讲义第2304卷(2002),施普林格:施普林格-柏林-海德堡),128-42。doi:10.1007/3-540-45937-5_11。统一资源定位地址http://dx.doi.org/10.1007/3-540-45937-5_11 ·Zbl 1051.68839号
[30] 马丁斯,P。;费尔南德斯,J。;Saraiva,J.,基于Zipper的属性文法及其扩展,(Du Bois,A.;Trinder,P.,《编程语言》,计算机科学讲义第8129卷(2013),施普林格:施普林格-柏林-海德堡),135-49。doi:10.1007/978-3642-40922-6_10。统一资源定位地址http://dx.doi.org/10.1007/978-3642-40922-6_10 ·兹比尔1405.68161
[33] Krishnan,L。;VanWyk,E.,《高阶属性文法的终止分析》,(Czarnecki,K.;Hedin,G.,《软件语言工程》,计算机科学课堂讲稿(2013)第7745卷,施普林格:施普林格柏林,海德堡),44-63,doi:10.1007/978-3642-36089-3_4。统一资源定位地址http://dx.doi.org/10.1007/978-3642-36089-3_4
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。