Crafting Interpreters

Β· Genever Benning
4,8
12Β ΠΎΡ‚Π·ΠΈΠ²Π°
Π•Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Π° ΠΊΠ½ΠΈΠ³Π°
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.

ΠžΡ†Π΅Π½ΠΊΠΈ ΠΈ ΠΎΡ‚Π·ΠΈΠ²ΠΈ

4,8
12Β ΠΎΡ‚Π·ΠΈΠ²Π°

Π—Π° Π°Π²Ρ‚ΠΎΡ€Π°

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".

ΠžΡ†Π΅Π½Π΅Ρ‚Π΅ Ρ‚Π°Π·ΠΈ Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Π° ΠΊΠ½ΠΈΠ³Π°

ΠšΠ°ΠΆΠ΅Ρ‚Π΅ Π½ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ мислитС.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅Ρ‚ΠΎ

Π‘ΠΌΠ°Ρ€Ρ‚Ρ„ΠΎΠ½ΠΈ ΠΈ Ρ‚Π°Π±Π»Π΅Ρ‚ΠΈ
Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Google Play Книги Π·Π° Android ΠΈ iPad/iPhone. Π’ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ сС синхронизира с ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° Π²ΠΈ ΠΈ Π²ΠΈ позволява Π΄Π° Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΈΠ»ΠΈ ΠΎΡ„Π»Π°ΠΉΠ½, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΈ Π΄Π° стС.
Π›Π°ΠΏΡ‚ΠΎΠΏΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ
ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅ Π·Π°ΠΊΡƒΠΏΠ΅Π½ΠΈΡ‚Π΅ ΠΎΡ‚ Google Play Π°ΡƒΠ΄ΠΈΠΎΠΊΠ½ΠΈΠ³ΠΈ посрСдством ΡƒΠ΅Π± Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π° си.
Π•Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΈ Ρ‡Π΅Ρ‚Ρ†ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ устройства
Π—Π° Π΄Π° Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π½Π° устройства с Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎ мастило, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΈΡ‚Π΅ Ρ‡Π΅Ρ‚Ρ†ΠΈ ΠΎΡ‚ Kobo, трябва Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΈ Π΄Π° Π³ΠΎ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ Π½Π° устройството си. Π˜Π·ΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΈΡ‚Π΅ инструкции Π² ΠŸΠΎΠΌΠΎΡ‰Π½ΠΈΡ Ρ†Π΅Π½Ρ‚ΡŠΡ€, Π·Π° Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π² ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈΡ‚Π΅ Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΈ Ρ‡Π΅Ρ‚Ρ†ΠΈ.