Ruslan Popov's personal website

Student of DNU Faculty of Physics, Electronics and Computer Systems


Home | Github | Projects | Papers

Source: Github repository.

Lox bytecode interpreter implemented in C++

Written for educational purposes and with book Crafting interpreters. I've tried to use safe C++ constructs and data type with OOP. And, of course, without global varaibles. This is not an exact same replica with clox, but it interprets the same language.

The code is messy and I want to make my own language (well, another replica of JS), so wait for Loop!

Features

They are undone, actually.

Differences from Lox and clox

Project structure

This repository contains three projects:

  1. Lox VM library LoxLib/. It contains two folders: include for public headers and src for implementation.
  2. Lox VM runner LoxInterpreter/ (a bad name perhaps). It is the main file that runs REPL or a file. It contains src directory where it is implemented.
  3. Lox tests LoxGoogleTests. It contains folder src, where the tests lie. There is no main file, so they are intended to run with gtest_main.

Copyright (c) 2023 Ruslan Popov

My email: ruslanpopov1512@gmail.com; popov_ro@ffeks.dnu.edu.ua.

You can find me everywhere by this nickname: InAnYan.