ECE-492-SnakesAndAdders / python-interpreter

C3Python is an entirely custom-made Python interpreter designed to run on proprietary hardware.
Creative Commons Attribution 4.0 International
0 stars 0 forks source link

(Mostly) Final Version of C3Python For Normal Computers #10

Closed ijoffe closed 7 months ago

ijoffe commented 7 months ago

I'm writing this PR because I've added more features to the version of C3Python that runs on my laptop and other fully-featured, 'normal' machines.

I think this version makes sense to have on the main branch because it has the most features and it is the one that someone could actually look at, clone, and run out-of-the-box. I think it's good to get this to be the thing that people look at on our profiles/resumes.

That said, we should probably wait to merge in case any other features/fixes are added. Especially since the project is not over and we will need to demo on the C3. I think we can move that final version over to a new branch c3 before merging to keep that separate and accessible (maybe c3-xpd for a version using the XPD Programmer to interface, and c3-embed for a version that uses the keyboard/LCD to interface).

The specific features added are essentially statements. Variable assignment, augmentation, and reading now works. Arbitrary if-elif-else statements work too. So do for and while loops (with the optional else clause and break and continue statements). However, these types of statements cannot be arbitrarily nested (yet).

Don't merge yet, I'll leave this as a draft for now

ijoffe commented 7 months ago

Trying to resolve merge conflicts... it's bad

ijoffe commented 7 months ago

Can be merged now (but still lets wait). Conflicts resolved.