Lecture 1: Introduction to Virtual Machines

Source code repository: https://github.com/DmitrySoshnikov/eva-vm-source

In this lecture:

  • 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