Software Languages: Syntax, Semantics, and Metaprogramming

Author:   Ralf Lämmel
Publisher:   Springer International Publishing AG
Edition:   2018 ed.
ISBN:  

9783319907987


Pages:   424
Publication Date:   28 May 2018
Format:   Hardback
Availability:   Manufactured on demand   Availability explained
We will order this item for you from a manufactured on demand supplier.

Our Price $168.16 Quantity:  
Add to Cart

Share |

Software Languages: Syntax, Semantics, and Metaprogramming


Add your own review!

Overview

This book identifies, defines and illustrates the fundamental concepts and engineering techniques relevant to applications of software languages in software development. It presents software languages primarily from a software engineering perspective, i.e., it addresses how to parse, analyze, transform, generate, format, and otherwise process software artifacts in different software languages, as they appear in software development. To this end, it covers a wide range of software languages – most notably programming languages, domain-specific languages, modeling languages, exchange formats, and specifically also language definition languages. Further, different languages are leveraged to illustrate software language engineering concepts and techniques. The functional programming language Haskell dominates the book, while the mainstream programming languages Python and Java are additionally used for illustration. By doing this, the book collects and organizes scattered knowledge from software language engineering, focusing on application areas such as software analysis (software reverse engineering), software transformation (software re-engineering), software composition (modularity), and domain-specific languages. It is designed as a textbook for independent study as well as for bachelor’s (advanced level) or master’s university courses in Computer Science. An additional website provides complementary material, for example, lecture slides and videos. This book is a valuable resource for anyone wanting to understand the fundamental concepts and important engineering principles underlying software languages, allowing them to acquire much of the operational intelligence needed for dealing with software languages in software development practice. This is an important skill set for software engineers, as languages are increasingly permeating software development.

Full Product Details

Author:   Ralf Lämmel
Publisher:   Springer International Publishing AG
Imprint:   Springer International Publishing AG
Edition:   2018 ed.
Weight:   6.747kg
ISBN:  

9783319907987


ISBN 10:   3319907980
Pages:   424
Publication Date:   28 May 2018
Audience:   Professional and scholarly ,  Professional & Vocational
Format:   Hardback
Publisher's Status:   Active
Availability:   Manufactured on demand   Availability explained
We will order this item for you from a manufactured on demand supplier.

Table of Contents

1 The Notion of a Software Language.- 2 A Story of a Domain-Specific Language.- 3 Foundations of Tree- and Graph-Based Abstract Syntax.- 4 Representation of Object Programs in Metaprograms.- 5 A Suite of Metaprogramming Scenarios.- 6 Foundations of Textual Concrete Syntax.- 7 Implementation of Textual Concrete Syntax.- 8 A Primer on Operational Semantics.- 9 A Primer on Type Systems.- 10 An Excursion into the Lambda Calculus.- 11 An Ode to Compositionality.- 12 A Suite of Metaprogramming Techniques.

Reviews

Selected by Choice magazine as an Outstanding Academic Title for 2019 The book's 12 chapters cover a wealth of information by adopting a formal point of view that supplies the rigor needed for such an extensive treatment while offering plenty of self-learning opportunities through exercises and additional references. ... This book is also useful as the first step in a more in-depth exploration of specific topics, such as metaprogramming, as it provides the references needed for a comprehensive literature review. ... Summing Up: Highly recommended. Advanced undergraduates through faculty and professionals. (L. Benedicenti, Choice, Vol. 56 (9), May, 2019)


Selected by Choice magazine as an Outstanding Academic Title for 2019 “The book’s 12 chapters cover a wealth of information by adopting a formal point of view that supplies the rigor needed for such an extensive treatment while offering plenty of self-learning opportunities through exercises and additional references. … This book is also useful as the first step in a more in-depth exploration of specific topics, such as metaprogramming, as it provides the references needed for a comprehensive literature review. … Summing Up: Highly recommended. Advanced undergraduates through faculty and professionals.” (L. Benedicenti, Choice, Vol. 56 (9), May, 2019)


Author Information

​Ralf Lämmel is Software Engineer at Facebook since 2018 and Professor of Computer Science (currently on leave of absence) at the University of Koblenz-Landau in Germany since 2007. In the past, he had held positions at the University of l'Aquila, Microsoft, the Free University of Amsterdam, CWI (Dutch Center for Mathematics and Computer Science), and the University of Rostock, Germany. His research and teaching interests include software language engineering, software reverse engineering, software re-engineering, mining software repositories, functional programming, grammar-based and model-based techniques, and, more recently, megamodeling. He is one of the founding fathers of the international summer school series on Generative and Transformational Techniques on Software Engineering (GTTSE) and the international conference on Software Language Engineering (SLE).

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

MRG2025CC

 

Shopping Cart
Your cart is empty
Shopping cart
Mailing List