2290 рублей, Dmitry Soshnikov (Дмитрий Сошников?)
https://www.udemy.com/course/virtual-machine/
курсу (мне кажется, но это неточно) нехватает реалтаймовости GC и многопоточности выполнения,
можно его по-тщательнее рассмотреть.
1) Introduction to virtual machines (https://github.com/DmitrySoshnikov/eva-vm-source)
Course overview and agenda
Parsing pipeline
Tokenizer module (Lexical analysis)
Parser module (Syntactic analysis)
Abstract Syntax Tree (AST)
Interpreters vs. Compilers
AST interpreters
Bytecode interpreters
Eva programming language
S-expression
Instruction pointer
Eval loop
Halt instruction
2) Stack-based vs Register-based VMs
Stack-based VM
Stack pointer
Constant pool
Java bytecode example
Python bytecode example
Compiler explorer tool
Register-based VM
Accumulator register
3) Bytecode interpreter
4) Compiler construction
5) Call stack and Stack frames
6) Low-level interpretation
8) Functional programming
9) Closures implementation
10) Garbage Collection
11) Mark-Sweep GC
12) Understand how programming languages work under the hood
13) Bytecode optimization
7) Object-oriented programming
7.1) Class objects | Methods storage
Object-oriented programming
Class objects
Inner vs. Global classes
Static vs. Dynamic dispatch
Environments
Methods resolution
7.2) Instance objects | Property access
Object-oriented programming
Instance objects
Inheritance
Self object
Constructor function
Property access
Bytecode patching
7.3) Super classes | Inheritance
Child classes
Super classes
Inheritance chains
7.4) Final VM executable Final VM executable
Eva VM executable
Evaluating expressions
Executing files
Next steps
Assembly
JIT-compilation
Отредактировано Лис (2022-10-09 07:54:18)