/cslox

lox interpreter in csharp from "crafting-interpreters" book

Primary LanguageC#MIT LicenseMIT

cslox

csLox is a project that implements the Lox programming language in C#. Lox is a simple, dynamically-typed programming language designed by Bob Nystrom in his book "Crafting Interpreters."

This project serves as an educational resource for individuals interested in learning about language design, interpreter construction, and programming language implementation concepts.

Features

  • Lexing and Tokenization: csLox includes a lexer that breaks input source code into meaningful tokens.
  • Parsing: It employs a recursive descent parser to generate an abstract syntax tree (AST) from the token stream.
  • Interpreting: csLox interprets the AST and executes the Lox source code.
  • Support for Expressions, Statements, and Control Flow: csLox supports a variety of expressions, statements, and control flow constructs typical in programming languages.

Quick start

> dotnet run <file>

or

> dotnet run