内特·福斯特;松田,Kazutaka;贾尼斯·沃格特兰德 双向编程的三种互补方法。 (英语) Zbl 1374.68103号 Jeremy Gibbons(编辑),通用和索引编程。2010年3月22日至26日,英国牛津,2010年SSGIP国际春季学校。修订的讲座。柏林:施普林格出版社(ISBN 978-3-642-32201-3/pbk)。计算机科学课堂讲稿7470,1-46(2012)。 摘要:本文概述了双向编程的三种不同方法。第一种方法是语法双向化,它将描述正向转换的程序作为输入,并计算性能良好的反向转换。第二种方法,语义双向化,与之类似,但将正向转换本身作为输入,而不是描述它的程序。它要求转换是一个多态函数,并使用参数性和自由定理证明行为良好。第三种方法基于双向组合子,侧重于使用类型来确保性能良好,并使用特殊构造来处理对齐问题。在介绍这些方法时,我们特别注意补码的使用,补码是表示正向转换所丢弃的信息的结构。关于整个系列,请参见[Zbl 1251.68013号]. 引用于4文件 MSC公司: 68甲19 其他编程范式(面向对象、顺序、并发、自动等) 软件:比西德语 PDF格式BibTeX公司 XML格式引用 \textit{N.Foster}等人,Lect。注释计算。科学。7470,1--46(2012;Zbl 1374.68103) 全文: 内政部