▲

Building a Virtual Machine for Programming Language [2021, ENG + Sub]

seeders: 6
leechers: 0
Added 2 years ago by Sergash in Other

Download Fast Safe Anonymous
movies, software, shows...

Files

Building a Virtual Machine for Programming Language [2021, ENG + Sub] (Size: 1.64 GB)
  1. VM basic operations
  1. Introduction to Virtual Machines.mp4 72.37 MB
  1. Introduction to Virtual Machines.srt 30.81 KB
  2. Stack-based vs. Register-based VMs.mp4 42.72 MB
  2. Stack-based vs. Register-based VMs.srt 13.76 KB
  3. Logger implementation.mp4 21.23 MB
  3. Logger implementation.srt 5.58 KB
  4. Numbers Introduction to Stack.mp4 46.18 MB
  4. Numbers Introduction to Stack.srt 12.68 KB
  5. Math binary operations.mp4 41.79 MB
  5. Math binary operations.srt 10.72 KB
  6. Strings Introduction to Heap and Objects.mp4 43.99 MB
  6. Strings Introduction to Heap and Objects.srt 10.48 KB
  7. Syntax Parser implementation.mp4 50.16 MB
  7. Syntax Parser implementation.srt 13.98 KB
  8. Compiler Bytecode.mp4 61.53 MB
  8. Compiler Bytecode.srt 14.04 KB
  9. Complex expressions.mp4 40.26 MB
  9. Complex expressions.srt 8.39 KB
  2. Control flow and variables
  1. Comparison Booleans.mp4 39.5 MB
  1. Comparison Booleans.srt 8.24 KB
  2. Control flow Branch instruction.mp4 51.33 MB
  2. Control flow Branch instruction.srt 12.97 KB
  3. Disassembler.mp4 64.15 MB
  3. Disassembler.srt 13.44 KB
  4. Global variables.mp4 81.42 MB
  4. Global variables.srt 17.7 KB
  5. Blocks Local variables.mp4 111.4 MB
  5. Blocks Local variables.srt 22.9 KB
  6. Control flow While-loops.mp4 23.52 MB
  6. Control flow While-loops.srt 5.54 KB
  3. Functions and Call stack
  1. Native functions.mp4 55.61 MB
  1. Native functions.srt 13.14 KB
  2. User-defined functions.mp4 88.94 MB
  2. User-defined functions.srt 19.15 KB
  3. Call stack Return address.mp4 16.21 MB
  3. Call stack Return address.srt 10.61 KB
  4. Lambda functions.mp4 42.16 MB
  4. Lambda functions.srt 8.83 KB
  5. Bytecode optimizations.mp4 33.1 MB
  5. Bytecode optimizations.srt 8.65 KB
  4. Closures implementation
  1. Closures Scope analysis.mp4 110.81 MB
  1. Closures Scope analysis.srt 30.35 KB
  2. Closures Compilation.mp4 75.32 MB
  2. Closures Compilation.srt 14.59 KB
  3. Closures Runtime.mp4 94.33 MB
  3. Closures Runtime.srt 20.2 KB
  5. Garbage Collection
  1. Tracing heap Object header.mp4 25.48 MB
  1. Tracing heap Object header.srt 18.19 KB
  2. Mark-Sweep GC.mp4 96.92 MB
  2. Mark-Sweep GC.srt 24.79 KB
  6. Object-oriented programming
  1. Class objects Methods storage.mp4 101.31 MB
  1. Class objects Methods storage.srt 21.91 KB
  2. Instance objects Property access.mp4 90.78 MB
  2. Instance objects Property access.srt 17.24 KB
  3. Super classes Inheritance.mp4 14.61 MB
  3. Super classes Inheritance.srt 3.35 KB
  4. Final VM executable Final VM executable.mp4 41.73 MB
  4. Final VM executable Final VM executable.srt 9.99 KB
  eva-vm-source-main.zip 13.02 KB

Description


Обучающие видео » Компьютерные видеоуроки и обучающие интерактивные DVD » Программирование (видеоуроки)

Building a Virtual Machine for Programming Language

Год выпуска: 2021
Производитель: dmitrysoshnikov.com
Сайт производителя: http://dmitrysoshnikov.com/courses/virtual-machine/
Автор: Dmitry Soshnikov
Продолжительность: 4:26:52
Тип раздаваемого материала: Видеоурок
Язык: Английский + субтитры
Описание: How programming languages work under the hood? What’s the difference between compiler and interpreter? What is a virtual machine, and JIT-compiler? And what about the difference between functional and imperative programming?

There are so many questions when it comes to implementing a programming language!

The problem with “compiler classes” in school is such classes are usually presented as some “hardcore rocket science” which is only for advanced engineers.

Moreover, classic compiler books start from the least significant topic, such as Lexical analysis, going straight down to the theoretical aspects of formal grammars. And by the time of implementing the first Tokenizer module, students simply lose an interest to the topic, not having a chance to actually start implementing a programing language itself. And all this is spread to a whole semester of messing with tokenizers and BNF grammars, without understanding an actual semantics of programming languages.

I believe we should be able to build and understand a full programming language semantics, end-to-end, in 4-6 hours — with a content going straight to the point, showed in live coding sessions as pair-programming and described in a comprehensible way.

In the Building a Virtual Machine class we focus specifically on runtime semantics, and build a stack-based VM for a programming language very similar to JavaScript or Python. Working closely with the bytecode level you will understand how lower-level interpretation works in production VMs today.

Implementing a programing language would also make your practical level in other programming languages more professional.

Preview
[spoiler="Содержание"]
Part 1: VM basic operations

Lecture 1: Introduction to Virtual Machines (19:22)
Lecture 2: Stack-based vs. Register-based VMs (9:36)
Lecture 3: Logger implementation (4:00)
Lecture 4: Numbers: introduction to Stack (8:00)
Lecture 5: Math binary operations (7:07)
Lecture 6: Strings: introduction to Heap and objects (6:39)
Lecture 7: Syntax: parser implementation (9:20)
Lecture 8: Compiler | Bytecode (9:13)
Lecture 9: Complex expressions (5:26)

Part 2: Control flow and variables

Lecture 10: Comparison | Booleans (5:18)
Lecture 11: Control flow | Branch instruction (8:18)
Lecture 12: Disassembler (8:45)
Lecture 13: Global variables (11:07)
Lecture 14: Blocks | Local variables (14:39)
Lecture 15: Control flow | While-loops (3:34)

Part 3.1: Functions and Call stack

Lecture 16: Native functions | Function calls (7:52)
Lecture 17: User-defined functions (12:07)
Lecture 18: Call stack | Return address (6:37)
Lecture 19: Lambda functions (5:27)
Lecture 20: Bytecode optimizations (5:31)

Part 3.2: Closures implementation

Lecture 21: Closures | Scope analysis (17:55)
Lecture 22: Closures | Compilation (9:31)
Lecture 23: Closures | Runtime (12:23)

Part 4: Garbage Collection

Lecture 24: Tracing heap | Object header (11:00)
Lecture 25: Mark-Sweep GC (15:03)

Part 5: Object-oriented programming

Lecture 26: Class objects | Methods storage (13:23)
Lecture 27: Instance objects | Property access (10:57)
Lecture 28: Super classes | Inheritance (2:13)
Lecture 29: Final VM executable (6:14)
[/spoiler]
[spoiler="Серия курсов от Dmitry Soshnikov"]
Automata Theory inside a RegExp machine
Garbage Collection Algorithms
Building an Interpreter from scratch
Parsing Algorithms
Building a Parser from scratch
Building a Virtual Machine for Programming Language
Building a Typechecker from scratch
Programming Language with LLVM
Building a Transpiler from scratch
[/spoiler]
Файлы примеров: присутствуют
Формат видео: MP4
Видео: MPEG-4 H.264 AVC, 1280x800, 16:10, 30fps, ~3000kbps
Аудио: MPEG-4 AAC LC, 44.1kHz, 128kbps, stereo
[spoiler="Скриншоты"]



[/spoiler]

Related Torrents

torrent name size uploader age seed leech
4
0
0
0
0