skip to content
Software languages : syntax, semantics, and metaprogramming Preview this item
ClosePreview this item
Checking...

Software languages : syntax, semantics, and metaprogramming

Author: Ralf Lämmel
Publisher: Cham : Springer, 2018.
Edition/Format:   eBook : Document : EnglishView all editions and formats
Summary:
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  Read more...
Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

Find a copy online

Links to this item

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Genre/Form: Electronic books
Additional Physical Format: (OCoLC)1030591367
Material Type: Document, Internet resource
Document Type: Internet Resource, Computer File
All Authors / Contributors: Ralf Lämmel
ISBN: 9783319908007 3319908006
OCLC Number: 1036771828
Description: 1 online resource.
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.
Responsibility: Ralf Lämmel.

Abstract:

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.

Reviews

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


Primary Entity

<http://www.worldcat.org/oclc/1036771828> # Software languages : syntax, semantics, and metaprogramming
    a schema:MediaObject, schema:CreativeWork, schema:Book ;
    library:oclcnum "1036771828" ;
    library:placeOfPublication <http://id.loc.gov/vocabulary/countries/sz> ;
    library:placeOfPublication <http://experiment.worldcat.org/entity/work/data/5164200588#Place/cham> ; # Cham
    schema:about <http://dewey.info/class/005.13/e23/> ;
    schema:about <http://experiment.worldcat.org/entity/work/data/5164200588#Topic/programming_languages_electronic_computers> ; # Programming languages (Electronic computers)
    schema:about <http://experiment.worldcat.org/entity/work/data/5164200588#Topic/computer_science> ; # Computer Science
    schema:about <http://experiment.worldcat.org/entity/work/data/5164200588#Topic/software_engineering> ; # Software Engineering
    schema:bookFormat schema:EBook ;
    schema:creator <http://experiment.worldcat.org/entity/work/data/5164200588#Person/lammel_ralf> ; # Ralf Lämmel
    schema:datePublished "2018" ;
    schema:description "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."@en ;
    schema:description "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."@en ;
    schema:exampleOfWork <http://worldcat.org/entity/work/id/5164200588> ;
    schema:genre "Electronic books"@en ;
    schema:inLanguage "en" ;
    schema:isSimilarTo <http://www.worldcat.org/oclc/1030591367> ;
    schema:name "Software languages : syntax, semantics, and metaprogramming"@en ;
    schema:productID "1036771828" ;
    schema:publication <http://www.worldcat.org/title/-/oclc/1036771828#PublicationEvent/cham_springer_2018> ;
    schema:publisher <http://experiment.worldcat.org/entity/work/data/5164200588#Agent/springer> ; # Springer
    schema:url <http://dx.doi.org/10.1007/978-3-319-90800-7> ;
    schema:url <https://link.springer.com/10.1007/978-3-319-90800-7> ;
    schema:workExample <http://dx.doi.org/10.1007/978-3-319-90800-7> ;
    schema:workExample <http://worldcat.org/isbn/9783319908007> ;
    wdrs:describedby <http://www.worldcat.org/title/-/oclc/1036771828> ;
    .


Related Entities

<http://experiment.worldcat.org/entity/work/data/5164200588#Person/lammel_ralf> # Ralf Lämmel
    a schema:Person ;
    schema:familyName "Lämmel" ;
    schema:givenName "Ralf" ;
    schema:name "Ralf Lämmel" ;
    .

<http://experiment.worldcat.org/entity/work/data/5164200588#Topic/programming_languages_electronic_computers> # Programming languages (Electronic computers)
    a schema:Intangible ;
    schema:name "Programming languages (Electronic computers)"@en ;
    .

<http://experiment.worldcat.org/entity/work/data/5164200588#Topic/software_engineering> # Software Engineering
    a schema:Intangible ;
    schema:name "Software Engineering"@en ;
    .

<http://worldcat.org/isbn/9783319908007>
    a schema:ProductModel ;
    schema:isbn "3319908006" ;
    schema:isbn "9783319908007" ;
    .

<http://www.worldcat.org/oclc/1030591367>
    a schema:CreativeWork ;
    schema:isSimilarTo <http://www.worldcat.org/oclc/1036771828> ; # Software languages : syntax, semantics, and metaprogramming
    .


Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.