Compiling Natural Semantics [electronic resource] /
Contributor(s): SpringerLink (Online service).Material type: BookSeries: Lecture Notes in Computer Science: 1549Publisher: Berlin, Heidelberg : Springer Berlin Heidelberg, 1999.Description: XVIII, 246 p. online resource.Content type: text Media type: computer Carrier type: online resourceISBN: 9783540488231.Subject(s): Computer science | Programming languages (Electronic computers) | Computer logic | Computational linguistics | Computer Science | Programming Languages, Compilers, Interpreters | Language Translation and Linguistics | Logics and Meanings of ProgramsOnline resources: Click here to access online
1 Introduction -- 2 Preliminaries -- 3 The Design of RML -- 4 Examples -- 5 Implementation Overview -- 6 Reducing Nondeterminism -- 7 Compiling Pattern Matching -- 8 Compiling Continuations -- 9 Simulating Tailcalls in C -- 10 Performance Evaluation -- 11. Concluding Remarks -- A. The Definition of RML.
Natural Semantics has become a popular tool among programming language researchers for specifying many aspects of programming languages. However, due to the lack of practical tools for implementation, the natural semantics formalism has so far largely been limited to theoretical applications. This book introduces the rational meta-language RML as a practical language for natural semantics specifications. The main part of the work is devoted to the problem of compiling natural semantics, actually RML, into highly efficient code. For this purpose, an effective compilation strategy for RML is developed and implemented in the rml2c compiler. This compiler ultimately produces low-level C code. Benchmarking results show that rml2c-produced code is much faster than code resulting from compilers based on alternative implementation approaches.