Skip to content

jacobshultz/interpreter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Interpreter

A custom interpreted programming language built from scratch.

Created by Jacob Shultz and Seth Baker
Course: CS1720 Fall '25


Overview

We designed and implemented a custom interpreted programming language, constructing the entire interpretation pipeline from the ground up. The project involved building four core components that work together to transform source code into executable output:

Lexer — Tokenizes raw source code into meaningful symbols
Parser — Constructs an abstract syntax tree from the token stream
Analyzer — Performs semantic analysis and validates program structure
Evaluator — Executes the analyzed code and produces results

This end-to-end implementation gave us deep insight into how programming languages work under the hood, from the first character read to the final output displayed.

Examples

See Examples.pdf for instruction on how to run the interpreter as well as working code examples and demonstrations.

Features

Custom syntax design
Complete lexical analysis
Recursive descent parsing
Pratt parsing
Semantic validation
Runtime evaluation

About

Final project for CS1720 Programming Languages Fall '25

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages