Software Languages Syntax, Semantics, and Metaprogramming /

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, transf...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Lämmel, Ralf (Συγγραφέας, http://id.loc.gov/vocabulary/relators/aut)
Συγγραφή απο Οργανισμό/Αρχή: SpringerLink (Online service)
Μορφή: Ηλεκτρονική πηγή Ηλ. βιβλίο
Γλώσσα:English
Έκδοση: Cham : Springer International Publishing : Imprint: Springer, 2018.
Έκδοση:1st ed. 2018.
Θέματα:
Διαθέσιμο Online:Full Text via HEAL-Link
LEADER 03977nam a2200433 4500
001 978-3-319-90800-7
003 DE-He213
005 20191220130057.0
007 cr nn 008mamaa
008 180517s2018 gw | s |||| 0|eng d
020 |a 9783319908007  |9 978-3-319-90800-7 
024 7 |a 10.1007/978-3-319-90800-7  |2 doi 
040 |d GrThAP 
050 4 |a QA76.758 
072 7 |a UMZ  |2 bicssc 
072 7 |a COM051230  |2 bisacsh 
072 7 |a UMZ  |2 thema 
082 0 4 |a 005.1  |2 23 
100 1 |a Lämmel, Ralf.  |e author.  |4 aut  |4 http://id.loc.gov/vocabulary/relators/aut 
245 1 0 |a Software Languages  |h [electronic resource] :  |b Syntax, Semantics, and Metaprogramming /  |c by Ralf Lämmel. 
250 |a 1st ed. 2018. 
264 1 |a Cham :  |b Springer International Publishing :  |b Imprint: Springer,  |c 2018. 
300 |a XXX, 424 p. 49 illus., 32 illus. in color.  |b online resource. 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file  |b PDF  |2 rda 
505 0 |a 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. 
520 |a 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. 
650 0 |a Software engineering. 
650 1 4 |a Software Engineering.  |0 http://scigraph.springernature.com/things/product-market-codes/I14029 
710 2 |a SpringerLink (Online service) 
773 0 |t Springer eBooks 
776 0 8 |i Printed edition:  |z 9783319907987 
776 0 8 |i Printed edition:  |z 9783319907994 
776 0 8 |i Printed edition:  |z 9783030081041 
856 4 0 |u https://doi.org/10.1007/978-3-319-90800-7  |z Full Text via HEAL-Link 
912 |a ZDB-2-SCS 
950 |a Computer Science (Springer-11645)