YREA-SLS/PROGRESS.md

2.8 KiB

SE 3250 Progress Checkpoints

Checkpoint 3

28 Nov 2025

github.com/SnowSE/final-project-KylerOlsen

Compare SE3250-Checkpoint2..SE3250-Checkpoint3

Report:

Since checkpoint 2, I completed token string parsing and started working on the REPL. The lexer and REPL are basically finished as much as I am going to do for this assignment. I did start to implement builtin functions and operators. Currently only depth, drop, and /

Plan:

By the final turn-in on December 6th, I plan on getting all arithmetic operations working. And the python and rust ports with help from AI.

Stuck:

I'm not really stuck on anything, but I am running out of time, plus I am worried about not having enough AI usage to do the ports. If I at least get the main structures of the ports, I hope it will be enough for me to finish.

Checkpoint 2

20 Nov 2025

github.com/SnowSE/final-project-KylerOlsen

Compare SE3250-Checkpoint1..SE3250-Checkpoint2

Report:

I completed my string type for the interpreter. floats, characters, identifiers, and boolean token lexing has been completed. integer tokens were working at checkpoint 1.

Plan:

By checkpoint 3 I plan to complete token string token parsing and basic arithmetic execution.

Stuck:

I'm not really stuck on anything, but I have been dropping things from the scope of this assignment. I do hope to add them when I have time in the future. These features moved to the backlog include:

  • Unicode support
  • Exponential literals
  • Arrays and array functions
  • Type tuples, function defs
  • Structs, unions, etc.

Checkpoint 1

07 Nov 2025

intended user:
Programmers

detailed functional requirements:
A stack based language interpreter inspired by RPL, C, Rust, and Uiua (sls.purplecello.org)

motivation for wanting to work on the project:
It is cool, and I have had this idea for a while and learning new languages this semester has given me more ideas and motivation for this.

motivation for language selection:
C is a lower level language that can run on embedded systems and is well suited for writing language interpreters like Python and Lua.

non-functional requirements / constraints:
Efficient enough for use on a modern micro controller (ie. Raspberry Pi Pico, ESP32)