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
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 (maybec3-xpd
for a version using the XPD Programmer to interface, andc3-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 dofor
andwhile
loops (with the optionalelse
clause andbreak
andcontinue
statements). However, these types of statements cannot be arbitrarily nested (yet).Don't merge yet, I'll leave this as a draft for now