Crafting Interpreters

┬╖ Genever Benning
рек.рен
резрез рдкрд░реАрдХреНрд╖рдг
рдИ-рдкреБрд╕реНрддрдХ
640
рдкреЗрдЬ
рдкрд╛рддреНрд░
рд░реЗрдЯрд┐рдВрдЧ рдЖрдгрд┐ рдкрд░реАрдХреНрд╖рдгреЗ рдпрд╛рдВрдЪреА рдкрдбрддрд╛рд│рдгреА рдХреЗрд▓реЗрд▓реА рдирд╛рд╣реА ┬ардЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреНрдпрд╛

рдпрд╛ рдИ-рдкреБрд╕реНрддрдХрд╛рд╡рд┐рд╖рдпреА

Despite using them every day, most software engineers know little about how programming languages are designed and implemented. For many, their only experience with that corner of computer science was a terrifying "compilers" class that they suffered through in undergrad and tried to blot from their memory as soon as they had scribbled their last NFA to DFA conversion on the final exam.

That fearsome reputation belies a field that is rich with useful techniques and not so difficult as some of its practitioners might have you believe. A better understanding of how programming languages are built will make you a stronger software engineer and teach you concepts and data structures you'll use the rest of your coding days. You might even have fun.

This book teaches you everything you need to know to implement a full-featured, efficient scripting language. You'll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused.

Starting from main(), you will build a language that features rich syntax, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes, and inheritance. All packed into a few thousand lines of clean, fast code that you thoroughly understand because you wrote each one yourself.

рд░реЗрдЯрд┐рдВрдЧ рдЖрдгрд┐ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрдиреЗ

рек.рен
резрез рдкрд░реАрдХреНрд╖рдгреЗ

рд▓реЗрдЦрдХрд╛рд╡рд┐рд╖рдпреА

Bob Nystrom is a senior software engineer at Google working on the Dart programming language. Before discovering a love of programming languages, he developed games at Electronic Arts. He is the author of the best-selling book "Game Programming Patterns".

рдпрд╛ рдИ-рдкреБрд╕реНрддрдХрд▓рд╛ рд░реЗрдЯрд┐рдВрдЧ рджреНрдпрд╛

рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рд╡рд╛рдЯрддреЗ рддреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧрд╛.

рд╡рд╛рдЪрди рдорд╛рд╣рд┐рддреА

рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдЖрдгрд┐ рдЯреЕрдмрд▓реЗрдЯ
Android рдЖрдгрд┐ iPad/iPhone рд╕рд╛рдареА Google Play рдмреБрдХ рдЕтАНреЕрдк рдЗрдВрд╕реНтАНрдЯреЙрд▓ рдХрд░рд╛. рд╣реЗ рддреБрдордЪреНтАНрдпрд╛ рдЦрд╛рддреНтАНрдпрд╛рдиреЗ рдЖрдкреЛрдЖрдк рд╕рд┐рдВрдХ рд╣реЛрддреЗ рдЖрдгрд┐ рддреБрдореНтАНрд╣реА рдЬреЗрдереЗ рдХреБрдареЗ рдЕрд╕рд╛рд▓ рддреЗрдереВрди рддреБрдореНтАНрд╣рд╛рд▓рд╛ рдСрдирд▓рд╛рдЗрди рдХрд┐рдВрд╡рд╛ рдСрдлрд▓рд╛рдЗрди рд╡рд╛рдЪрдгреНтАНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреЗрддреЗ.
рд▓реЕрдкрдЯреЙрдк рдЖрдгрд┐ рдХреЙрдВрдкреНрдпреБрдЯрд░
рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдХрд╛рдБрдкреНрдпреБрдЯрд░рдЪрд╛ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЭрд░ рд╡рд╛рдкрд░реВрди Google Play рд╡рд░ рдЦрд░реЗрджреА рдХреЗрд▓реЗрд▓реА рдСрдбрд┐рдУрдмреБрдХ рдРрдХреВ рд╢рдХрддрд╛.
рдИрд╡рд╛рдЪрдХ рдЖрдгрд┐ рдЗрддрд░ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕
Kobo eReaders рд╕рд╛рд░рдЦреНрдпрд╛ рдИ-рдЗрдВрдХ рдбрд┐рд╡реНтАНрд╣рд╛рдЗрд╕рд╡рд░ рд╡рд╛рдЪрдгреНтАНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдПрдЦрд╛рджреА рдлрд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реВрди рддреА рддреБрдордЪреНтАНрдпрд╛ рдбрд┐рд╡реНтАНрд╣рд╛рдЗрд╕рд╡рд░ рдЯреНрд░рд╛рдиреНрд╕рдлрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╕рдкреЛрд░реНрдЯ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ eReaders рд╡рд░ рдлрд╛рдЗрд▓ рдЯреНрд░рд╛рдиреНрд╕рдлрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдорджрдд рдХреЗрдВрджреНрд░ рдордзреАрд▓ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╕реВрдЪрдирд╛ рдлреЙрд▓реЛ рдХрд░рд╛.