首页> 外文会议>European joint conferences on theory and practice of software;European symposium on programming >One Step at a Time A Functional Derivation of Small-Step Evaluators from Big-Step Counterparts
【24h】

One Step at a Time A Functional Derivation of Small-Step Evaluators from Big-Step Counterparts

机译:一步一步从大步交易对手衍生出小步评估程序的功能

获取原文
获取外文期刊封面目录资料

摘要

Big-step and small-step are two popular flavors of operational semantics. Big-step is often seen as a more natural transcription of informal descriptions, as well as being more convenient for some applications such as interpreter generation or optimization verification. Small-step allows reasoning about non-terminating computations, concurrency and interactions. It is also generally preferred for reasoning about type systems. Instead of having to manually specify equivalent semantics in both styles for different applications, it would be useful to choose one and derive the other in a systematic or, preferably, automatic way. Transformations of small-step semantics into big-step have been investigated in various forms by Danvy and others. However, it appears that a corresponding transformation from big-step to small-step semantics has not had the same attention. We present a fully automated transformation that maps big-step evaluators written in direct style to their small-step counterparts. Many of the steps in the transformation, which include CPS-conversion, defunctionalisation, and various continuation manipulations, mirror those used by Danvy and his co-authors. For many standard languages, including those with either call-by-value or call-by-need and those with state, the transformation produces small-step semantics that are close in style to handwritten ones. We evaluate the applicability and correctness of the approach on 20 languages with a range of features.
机译:大步和小步是两种流行的操作语义。大步通常被视为非正式描述的更自然的抄写,并且对于某些应用程序(如解释器生成或优化验证)更方便。小步长可以进行有关非终止计算,并发和交互的推理。通常也优选用于类型系统的推理。不必为两种不同的应用程序手动指定两种样式中的等效语义,而是以系统的方式(最好是自动方式)选择一种并派生另一种将很有用。从小步语义到大步的转换已由Danvy等人以各种形式进行了研究。但是,似乎从大步长语义到小步长语义的相应转换没有引起同样的关注。我们提出了一种全自动的转换方法,可以将以直接方式编写的大型评估者映射到他们的小型评估者。转换中的许多步骤(包括CPS转换,去功能化和各种继续操作)与Danvy及其合作者所使用的步骤相似。对于许多标准语言,包括具有按值调用或按需调用的语言以及具有状态的语言,转换产生的小步语义与手写体的风格很接近。我们评估该方法在20种语言中具有一系列功能的适用性和正确性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号