Lox programming language implementation in C++
C++ Shell CMake
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
treewalk shared ptrs everywhere Jul 2, 2018
vm vm scanner Jul 29, 2018
.clang_complete .h -> .hpp Dec 24, 2017
.gitignore vm scanner Jul 29, 2018
.travis.yml one cmakelists Jul 2, 2018
CMakeLists.txt one cmakelists Jul 2, 2018
LICENSE Initial commit Jan 20, 2017
README.md more vm Apr 7, 2018
build.sh vm scanner Jul 29, 2018

README.md

Build Status

lox-cpp (WIP)

This is a C++ implementation of the Lox programming language from the Crafting Interpreters book by Bob Nystrom.

status

chapters

  • Scanning
  • Representing Code
  • Parsing Expressions
  • Evaluating Expressions
  • Statements and State
  • Control Flow
  • Functions
  • Resolving and Binding
  • Classes
  • Inheritance
  • Chunks of Bytecode
  • A Virtual Machine

additional features

  • multi-line comments
  • AST printer
  • REPL context
  • REPL printing expression result
  • break/continue statements
  • lambda functions
  • report unused local variables
  • vm: memory efficient line numbers
  • vm: support for more constants (up to 65536)

lox source code examples

see treewalk/test/