000 04245nam a22004935i 4500
001 978-3-319-90800-7
003 DE-He213
005 20210201191431.0
007 cr nn 008mamaa
008 180517s2018 gw | s |||| 0|eng d
020 _a9783319908007
_9978-3-319-90800-7
050 4 _aQA76.758
072 7 _aUMZ
_2bicssc
072 7 _aCOM051230
_2bisacsh
072 7 _aUMZ
_2thema
082 0 4 _a005.1
_223
100 1 _aLämmel, Ralf.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
245 1 0 _aSoftware Languages
_h[electronic resource] :
_bSyntax, Semantics, and Metaprogramming /
_cby Ralf Lämmel.
250 _a1st ed. 2018.
264 1 _aCham :
_bSpringer International Publishing :
_bImprint: Springer,
_c2018.
300 _aXXX, 424 p. 49 illus., 32 illus. in color.
_bonline resource.
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
347 _atext file
_bPDF
_2rda
500 _aAcceso multiusuario
505 0 _a1 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 _aThis 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.
541 _fUABC ;
_cTemporal ;
_d01/01/2021-12/31/2023.
650 0 _aSoftware engineering.
650 1 4 _aSoftware Engineering.
_0https://scigraph.springernature.com/ontologies/product-market-codes/I14029
710 2 _aSpringerLink (Online service)
773 0 _tSpringer Nature eBook
776 0 8 _iPrinted edition:
_z9783319907987
776 0 8 _iPrinted edition:
_z9783319907994
776 0 8 _iPrinted edition:
_z9783030081041
856 4 0 _zLibro electrónico
_uhttp://148.231.10.114:2048/login?url=https://doi.org/10.1007/978-3-319-90800-7
912 _aZDB-2-SCS
912 _aZDB-2-SXCS
942 _cLIBRO_ELEC
999 _c243456
_d243455