×

从语法定义生成抽象编程接口。 (英语) Zbl 1068.68045号

摘要:本文描述了如何从数据类型的语法定义生成抽象编程接口及其实现。我们特别描述了如何使用语法(在SDF中)生成访问函数库,这些访问函数通过该语法操作术语的解析树。该技术在ASF+SDF元环境中的应用消除了手写代码,从而大大提高了工具的可维护性及其在更改解析树格式方面的灵活性。虽然重点是ATerms,但讨论的问题和描述的技术更通用,并且与相关领域(如XML数据绑定)相关。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
68问题65 抽象数据类型;代数规范
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] (Bergstra,J.A.;Heering,J.;Klint,P.,《代数规范》(1989),ACM出版社/Addison-Wesley)·Zbl 0711.68073号
[2] 布洛姆,S.C.C。;福克金,W.J。;Groote,J.F。;范·朗格沃尔德,I。;Lisser,B。;van de Pol,J.C.,《CRL:分析代数规范的工具集》,(Berry,G.;Comon,H.;Finkel,A.,《2001年CAV会议录》。CAV 2001年会议记录,LNCS,第2102卷(2001),Springer-Verlag),250-254·兹比尔0991.68640
[3] 范登·布兰德,M.G.J。;van Deursen,A。;海林,J。;德容,H.A。;de Jonge,M。;Kuipers,T。;Klint,P。;Moonen,L。;奥利维尔,P.A。;谢尔德,J。;文朱,J.J。;维瑟,E。;Visser,J.,《ASF+SDF元环境:基于组件的语言开发环境》(Wilhelm,R.,CC’01)。CC’01,LNCS,第2027卷(2001),Springer-Verlag),365-370·Zbl 0977.68762号
[4] 范登·布兰德,M.G.J。;德容,H.A。;Klint,P。;Olivier,P.A.,《高效注释术语》,《软件实践与经验》,30,259-291(2000)
[5] 范登·布兰德,M.G.J。;库佩斯,T。;Moonen,L。;Olivier,P.,《新ASF+SDF元环境的设计与实现》,(Sellink,a.,《第二届代数规范理论与实践国际研讨会论文集》(ASF+SSF'97)。第二届代数规范理论与实践国际研讨会论文集(ASF+SDF'97),计算研讨会(1997),斯普林格·弗拉格:斯普林格尔·弗拉格阿姆斯特丹)
[6] 范登·布兰德,M.G.J。;Ringeissen,C.,应用于ELAN的ASF+SDF解析工具,(Futatsugi,K.,第三届重写逻辑及其应用国际研讨会(WRLA’2000)。第三届重写逻辑及其应用国际研讨会(WRLA’2000),《理论计算机科学电子笔记》,第36卷(2001),爱思唯尔科学出版社)·Zbl 0962.68032号
[7] 范登·布兰德,M.G.J。;谢尔德,J。;文朱,J.J。;Visser,E.,《无扫描广义LR解析器的消歧过滤器》,(Nigel Horspool,R.,《编译器构造》,编译构造,LNCS,第2304卷(2002),Springer-Verlag),143-158·Zbl 1051.68874号
[8] XML/Java数据绑定和微风XML绑定,技术报告,微风因子,2002年。可从以下位置获得<http://www.breezefactor.com/whitepapers.html>; XML/Java数据绑定和微风XML绑定,技术报告,微风因子,2002年。可从<http://www.breezefactor.com/whitepapers.html>
[9] CoFI:代数规范和开发的通用框架倡议,电子档案,1998年。注释和文档可从<http://www.brics.dk/Projects/CoFI网站/>; CoFI:代数规范和开发的通用框架倡议,电子档案,1998年。注释和文档可从<http://www.brics.dk/Projects/CoFI网站/>
[10] CoFI-LD:CASL-The CoFI代数规范语言-摘要,1.0版,Documents/CASL/summary-v1.0,[9],1998;CoFI-LD:CASL-The CoFI代数规范语言-摘要,1.0版,Documents/CASL/summary-v1.0,in[9],1998
[11] 通用对象请求代理:体系结构和规范,对象管理组(OMG),1999年;公共对象请求代理:体系结构和规范,对象管理组(OMG),1999年
[12] Czarnecki,K。;艾森内克,U.W.,《生成性编程:方法、工具和应用》(2000),艾迪森·韦斯利出版社
[13] (van Deursen,A.;Heering,J.;Klint,P.,《语言原型:代数规范方法》,语言原型:一种代数规范方法,AMAST计算机系列,第5卷(1996),《世界科学》)·兹伯利0962.68114
[14] Enhydra项目,Zeus Java-to-XML数据绑定工具,2002年。可从以下位置获得<http://zeus.enhydra.org>; Enhydra项目,Zeus Java-to-XML数据绑定工具,2002年。可从以下位置获得<http://zeus.enhydra.org>
[15] ExoLab Group,Castor-A Java对象、XML文档、SQL&OQL数据库和LDAP目录之间的映射框架,2002年。可从<http://castor.exolab.org>; ExoLab Group,Castor-A Java对象、XML文档、SQL&OQL数据库和LDAP目录之间的映射框架,2002年。可从以下位置获得<http://castor.exolab.org>
[16] Hanson,D.R.,lcc中ASDL的早期经验,软件实践与经验,29,3,417-435(1999)
[17] J.Heering,P.R.H.Hendriks,P.Klint,J.Rekers,《语法定义形式主义SDF参考手册》,1992年。SIGPLAN通告24(11)(1989)43-75中的早期版本;J.Heering,P.R.H.Hendriks,P.Klint,J.Rekers,《语法定义形式主义SDF参考手册》,1992年。SIGPLAN通知24(11)(1989)43-75中的早期版本
[18] 海林,J。;Klint,P.,《编程语言的语义:面向工具的方法》,ACM Sigplan Notices,35,3,39-48(2000)
[19] XML绑定的Java架构,技术报告,SUN Microsystems,2002年。可从以下位置获得<http://java.sun.com/xml/jaxb>; XML绑定的Java架构,技术报告,SUN Microsystems,2002年。可从<http://java.sun.com/xml/jaxb>
[20] de Jonge,M。;维瑟,E。;Visser,J.,XT:A bundle of program transformation tools,(van den Brand,M.;Parigot,D.,Proceedings of Language Descriptions,tools and Applications,LDTA 2001)。语言描述、工具和应用学报(LDTA 2001),《理论计算机科学电子笔记》,第44卷(2001),爱思唯尔科学出版社)
[21] de Jonge,M。;Visser,J.,Grammars as contracts,(Butler,G.;Jarzabek,S.,Generative and Component Based Software Engineering,第二届国际研讨会,GCSE 2000。生成和基于组件的软件工程,第二届国际研讨会,GCSE 2000,计算机科学讲稿,第2177卷(2001),Springer-Verlag:Springer-Verlag-Erfurt,德国)·Zbl 1023.68741号
[22] Kiczales,G。;兰平,J。;Mendhekar,A。;Maeda,C。;Lopes,C。;Loingtier,J.-M。;Irwin,J.,面向方面编程,(Aksit,M.;Matsuoka,S.,第11届欧洲面向对象编程会议。第11届欧洲面向对象编程会议,LNCS,vol.1241(1997),Springer Verlag),220-242
[23] Klint,P.,《生成编程环境的元环境》,《ACM软件工程与方法汇刊》,2176-201(1993)
[24] Kuipers,T。;Visser,J.,《使用JJForester进行面向对象的树遍历》,(van den Brand,M.;Parigot,D.,《语言描述、工具和应用(LDTA)研讨会论文集》。语言描述、工具和应用(LDTA)研讨会论文集,理论计算机科学电子笔记,第44卷(2001),爱思唯尔科学出版社)·Zbl 1036.68017号
[25] 拉梅尔,R。;Visser,J.,Strafunski申请信,(Dahl,V.;Wadler,P.,《声明性编程实践方面的程序集》(PADL'03)。声明式编程的实践方面会议录(PADL'03),LNCS,第2562卷(2003),Springer Verlag),357-375·Zbl 1026.68791号
[26] Szyperski,C.,《基于面向对象编程的组件软件》(1997),Addison-Wesley
[27] Visser,E.,Stratego:一种基于重写策略的程序转换语言。Stratego 0.5的系统描述(Middeldorp,A.,RTA’01)。RTA’01,LNCS,第2051卷(2001),Springer-Verlag),357-361·Zbl 0981.68679号
[28] Visser,J.,访问者组合和遍历控制,收录于:OOPSLA 2001年会议记录:面向对象编程系统、语言和应用,ACM SIGPLAN通知,36,11,270-282(2001)
[29] B.C.Wang,A.W.Appel,J.L.Korn,C.S.Serra,zephyr抽象语法描述语言,摘自:《特定领域语言会议论文集》,1997年,第213-227页;B.C.Wang,A.W.Appel,J.L.Korn,C.S.Serra,zephyr抽象语法描述语言,摘自:《特定领域语言会议论文集》,1997年,第213-227页
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。