LEADER 03370nam 22005415 450 001 9910999689703321 005 20250429130210.0 010 $a3-031-84813-6 024 7 $a10.1007/978-3-031-84813-1 035 $a(CKB)38641737000041 035 $a(DE-He213)978-3-031-84813-1 035 $a(MiAaPQ)EBC32090652 035 $a(Au-PeEL)EBL32090652 035 $a(EXLCZ)9938641737000041 100 $a20250429d2025 u| 0 101 0 $aeng 135 $aur||||||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aCompiler Construction $eFundamentals and Applications /$fby Hanspeter Mössenböck 205 $a1st ed. 2025. 210 1$aCham :$cSpringer Nature Switzerland :$cImprint: Springer,$d2025. 215 $a1 online resource (XIII, 251 p. 128 illus., 3 illus. in color.) 311 08$a3-031-84812-8 327 $a1. Overview -- 2. Lexical Analysis -- 3. Syntax Analysis -- 4. Attributed Grammars -- 5. Symbol Table -- 6. Code Generation -- 7. The Compiler Generator Coco/R -- 8. Bottom-up Syntax Analysis. 330 $aThis textbook covers the fundamentals of compiler construction, from lexical analysis and syntax analysis to semantic processing and code generation. As a running example, a compiler for a simple Java-like programming language (MicroJava) is described and developed. It generates executable bytecode similar to Java bytecode. Other topics include the description of translation processes using attributed grammars and the use of a compiler generator to automatically generate the core parts of a compiler. For syntax analysis, the book concentrates on top-down parsing using recursive descent, but also describes bottom-up parsing. All code examples are presented in Java. A companion web page contains a full set of PowerPoint slides for an introductory compiler course, sample solutions for more than 70 exercises provided at the end of each chapter to practice and reinforce the content of that chapter, and the full source code of the MicroJava compiler as well as other code samples. In addition, the open-source compiler generator Coco/R described in the book is provided as an executable and in source code. The book targets both students of Computer Science or related fields as well as practitioners who want to apply basic compiling techniques in their daily work, e.g., when crafting software tools. It can be used as a textbook for an introductory compiler course on which more advanced courses on compiler optimizations can be based. 606 $aCompilers (Computer programs) 606 $aSoftware engineering 606 $aProgramming languages (Electronic computers) 606 $aCompilers and Interpreters 606 $aSoftware Engineering 606 $aProgramming Language 615 0$aCompilers (Computer programs) 615 0$aSoftware engineering. 615 0$aProgramming languages (Electronic computers) 615 14$aCompilers and Interpreters. 615 24$aSoftware Engineering. 615 24$aProgramming Language. 676 $a005.45 700 $aMössenböck$b Hanspeter$4aut$4http://id.loc.gov/vocabulary/relators/aut$0754958 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910999689703321 996 $aCompiler Construction$94375932 997 $aUNINA