82 lines
2.8 KiB
Markdown
82 lines
2.8 KiB
Markdown
# 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)
|