×

组合器解析:一个简短的教程。 (英语) Zbl 1250.68083号

Bove,Ana(编辑)等人,《语言工程和严格的软件开发》。2008年2月24日至3月1日,乌拉圭皮里亚波利斯,2008年国际LerNet ALFA暑期学校。修订的教程讲座。柏林:施普林格出版社(ISBN 978-3-642-03152-6/pbk)。计算机科学讲座笔记5520,252-300(2009)。
摘要:有许多方法可以实现给定语法的解析器;使用解析器组合符是一种强大的解析方法,它的强大功能和表达能力很大程度上来自宿主编程语言的类型系统和语义。本教程从构造一个小的解析组合词库开始。该库介绍了组合符解析的基础知识,更一般地,还演示了特定于域的嵌入式语言如何利用宿主语言的功能。在构建了我们的小型组合词库之后,我们研究了第一部分中介绍的原始实现的一些缺点,并逐步开发了一个没有这些问题的实现。最后,我们讨论了所提出的库的一些进一步扩展,并将我们的方法与类似的库进行了比较。
关于整个系列,请参见[Zbl 1167.68001号].

理学硕士:

68甲15 编程语言理论
68甲18 函数编程和lambda演算

软件:

哈斯克尔
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Baars,A.I.,Löh,A.,Swierstra,S.D.:解析置换短语。J.功能。程序。 14(6), 635–646 (2004) ·Zbl 1063.68028号 ·doi:10.1017/S0956796804005143
[2] Burge,W.H.:递归编程技术。Addison-Wesley,雷丁(1975)·Zbl 0321.68002号
[3] Claessen,K.:并行解析过程。函数编程杂志14(6),741-757(2004)·Zbl 1063.68029号 ·doi:10.1017/S0956796804005192
[4] Fokker,J.:功能解析器。收录:Jeuring,J.T.,Meijer,H.J.M.(编辑)AFP 1995。LNCS,第925卷,第1-23页。斯普林格,海德堡(1995)·doi:10.1007/3-540-59451-5_1
[5] Heeren,B.:顶级质量类型错误消息。乌得勒支大学博士论文(2005年)
[6] Heeren,B.,Hage,J.,Swierstra,S.D.:编写类型推理过程脚本。摘自:第八届ACM Sigplan函数式编程国际会议,第3-13页。ACM出版社,纽约(2003)·Zbl 1315.68050号 ·数字对象标识代码:10.1145/944705.944707
[7] Hughes,J.:将单子归纳为箭头。计算机程序设计科学37(1-3),67–111(2000)·Zbl 0954.68034号 ·doi:10.1016/S0167-6423(99)00023-4
[8] Hutton,G.,Meijer,E.:Haskell中的单数分析。J.功能。程序。 8(4), 437–444 (1998) ·Zbl 0917.68039号 ·doi:10.1017/S0956796898003050
[9] Leijen,D.:Parsec,一个快速组合符解析器。乌得勒支大学信息与计算科学研究所技术报告UU-CS-2001-26(2001)
[10] Mcbride,C.,Paterson,R.A.:具有效果的应用程序设计。函数编程杂志18(1),1-13(2008)·Zbl 1128.68020号 ·doi:10.1017/S0956796807006326
[11] Peyton Jones,S.:Haskell 98语言与图书馆。剑桥大学出版社,剑桥(2003),http://www.haskell.org/report ·Zbl 1067.68041号
[12] Röjemo,N.:惰性函数语言中的垃圾收集和内存效率。查尔默斯理工大学博士论文(1995年)
[13] Swierstra,S.D.,Baars,A.,Löh,A.,Middelkoop,A.:uuag-乌得勒支大学属性语法系统
[14] Swierstra,S.D.,Azero Alocer,P.R.,Saraiava,J.:设计和实现组合语言。收录:Swierstra,S.D.,Henriques,P.,Oliveira,J.(编辑)AFP 1998。LNCS,第1608卷,第150-206页。斯普林格,海德堡(1999)·doi:10.1007/10704973_4
[15] Swierstra,S.D.,Duponcheel,L.:确定性、纠错组合符解析器。收录:Launchbury,J.、Meijer,E.、Sheard,T.(编辑)AFP 1996。LNCS,第1129卷,第184-207页。斯普林格,海德堡(1996)·doi:10.1007/3-540-61628-47
[16] Viera,M.,Doaitse Swierstra,S.,Lempsink,E.:Haskell,你听到了吗在运行时构造和组合高效的自顶向下解析器。收录于:Haskell 2008:第一届ACM SIGPLAN Haskells研讨会会议记录,第63-74页。ACM,纽约(2008)·数字对象标识代码:10.1145/1411286.1411296
[17] Wadler,P.:如何用成功列表取代失败。收录:Jouannaud,J.-P.(编辑)FPCA 1985。LNCS,第201卷,第113–128页。斯普林格,海德堡(1985)·Zbl 0568.68007号 ·doi:10.1007/3-540-15975-4_33
[18] Wagner,R.A.,Fischer,M.J.:串对串校正问题。J.ACM 21(1),168-173(1974)·Zbl 0278.68032号 ·doi:10.145/321796.321811
[19] Wallace,M.:部分解析:选择与承诺相结合。收录:Chitil,O.,Horváth,Z.,Zsók,V.(编辑)IFL 2007。LNCS,第5083卷,第93-110页。斯普林格,海德堡(2008)·doi:10.1007/978-3-540-85373-26
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。