# SE 3250 Progress Checkpoints

## Checkpoint 3
*28 Nov 2025*

[github.com/SnowSE/final-project-KylerOlsen](https://github.com/SnowSE/final-project-KylerOlsen)

[Compare SE3250-Checkpoint2..SE3250-Checkpoint3](https://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`](https://sls.purplecello.org/complete_operator_reference.html#depth),
[`drop`](https://sls.purplecello.org/complete_operator_reference.html#drop), and
[`/`](https://sls.purplecello.org/complete_operator_reference.html#_5)

**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](https://github.com/SnowSE/final-project-KylerOlsen)

[Compare SE3250-Checkpoint1..SE3250-Checkpoint2](https://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](https://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)
