From Operational Semantics to Abstract Machines

نویسندگان

  • John Hannan
  • Dale Miller
چکیده

We consider the problem of mechanically constructing abstract machines from operational semantics, producing intermediate-level specifications of evaluators guaranteed to be correct with respect to the operational semantics. We construct these machines by repeatedly applying correctness-preserving transformations to operational semantics until the resulting specifications have the form of abstract machines. Though not automatable in general, this approach to constructing machine implementations can be mechanized, providing machine-verified correctness proofs. As examples we present the transformation of specifications for both call-by-name and call-by-value evaluation of the untyped λ-calculus into abstract machines that implement such evaluation strategies. We also present extensions to the call-by-value machine for a language containing constructs for recursion, conditionals, concrete data types, and built-in functions. In all cases, the correctness of the derived abstract machines follows from the (generally transparent) correctness of the initial operational semantic specification and the correctness of the transformations applied. Comments University of Pennsylvania Department of Computer and Information Science Technical Report No. MSCIS-92-46. This technical report is available at ScholarlyCommons: http://repository.upenn.edu/cis_reports/502 From Operational Semantics to Abstract Machines MS-CIS-92-46 LINC LAB 225 Dale Miller (University of Pennsylvania) John Hannan (University of Copenhagen) University of Pennsylvania School of Engineering and Applied Science Computer and Information Science Department Philadelphia, PA 19 104-6389

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

From Operational Semantics for Abstract Machines

We consider the problem of mechanically constructing abstract machines from operational semantics, producing intermediate-level specifications of evaluators guaranteed to be correct with respect to the operational semantics. We construct these machines by repeatedly applying correctness-preserving transformations to operational semantics until the resulting specifications have the form of abstr...

متن کامل

A Sound and Complete SOS-Semantics for Non-Distributed Deterministic Abstract State Machines

In this paper we present a sound and complete Structural Operational Semantics (SOS) for non-distributed deterministic Abstract State Machines (ASMs). Since ASMs exhibit both sequential and parallel features, the semantics is structured into two layers. One layer describes the parallel execution of updates, the other layer describes the sequential execution of rules. The semantics has some nice...

متن کامل

Using Grammarware Languages to Define Operational Semantics of Modelled Languages

Abstract State Machines, Prolog, and Scheme are wellestablished for language engineering in the technological space of grammarware. In this paper, we show how they can be integrated into the technological space of modelware to describe operational semantics of modelled languages. Integration is based on three bridges: a physical, a logical, and a pragmatical bridge between grammarware language ...

متن کامل

Classical Logic, Continuation Semantics and Abstract Machines

One of the goals of this paper is to demonstrate that denotational semantics is useful for operational issues like implementation of functional languages by abstract machines. This is exempliied in a tutorial way by studying the case of extensional untyped call-by-name-calculus with Felleisen's control operator C. We derive the transition rules for an abstract machine from a continuation semant...

متن کامل

Classical logic, continuation semantics and abstract machines

One of the goals of this paper is to demonstrate that denotational semantics is useful for operational issues like implementation of functional languages by abstract machines. This is exemplified in a tutorial way by studying the case of extensional untyped call-byname λ-calculus with Felleisen’s control operator C. We derive the transition rules for an abstract machine from a continuation sema...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014