260b939dd9
Merging in the runtime -> environment transition work. The merge was janky AF. I have little faith.
Andrew Kesterson2025-07-19 16:40:56 -04:00
8d355b0c42
Backspacing behind X index 0 backs up to the previous line as it should
Andrew Kesterson2025-07-04 18:07:00 -04:00
709c9abf4c
User backspace visually deletes the character behind the cursor and moves the cursor backward
Andrew Kesterson2025-07-04 18:02:03 -04:00
044f69ddf5
User input is echoed to the screen as they type it - backspace and arrow keys not supported yet
Andrew Kesterson2025-07-04 17:51:52 -04:00
fb57e383a1
The user input is now being collected through a combination of SDL keyup and textinput events
Andrew Kesterson2025-07-04 17:39:24 -04:00
02a5bd55dc
The last line is staying empty because now I'm artificially constraining the maximum number of character lines on the screen
Andrew Kesterson2025-07-02 00:54:47 -04:00
62d1db7570
Scrolling works properly but the bottom line is not staying empty
Andrew Kesterson2025-07-02 00:53:34 -04:00
d851d1c771
Scrolling was working then it got busted but basicruntime_graphics.go hadn't been committed yet so I don't know what I broke
Andrew Kesterson2025-07-02 00:41:12 -04:00
fb3652b59c
All output is going to the SDL window and the cursor is automatically advancing then stopping at the bottom row, but the window doesn't scroll yet
Andrew Kesterson2025-07-01 23:33:34 -04:00
b340a1286a
Add DELETE command to delete lines in the program (the syntax is kinda confusing and doesn't fully match up w/ the basic spec - easy to delete the entire program)
Andrew Kesterson2025-06-28 20:27:07 -04:00
4d0d7a821e
Add MOD() for modulus operations. Only works on integers.
Andrew Kesterson2025-06-28 20:14:38 -04:00
b044f519f5
Change how freestanding built-in function definitions are preserved vs ones defined in golang methods
Andrew Kesterson2025-06-28 19:55:40 -04:00
e628270e18
Introduced a bug with the BasicVariable transition wherein any modification of a variable's value that should result in the construction of a new value actually modifies the variable's stored value. Example:
Andrew Kesterson2025-06-21 19:43:24 -04:00
2a503f8f00
Fixes multidimensional array test, makes arrays of strings possible.
Andrew Kesterson2025-06-21 18:41:16 -04:00
0adcba414d
All tests passing. New tests added for MID() function and multi-dimensional array operations.
Andrew Kesterson2025-06-21 18:32:30 -04:00
f65b3e553e
Fixed argumentList() parsing to produce a unique type of leaf that identifies and differentiates function argument lists from variable array subscripts
Andrew Kesterson2025-06-21 17:22:20 -04:00
4e6b1144f5
The recent dimensioned variables changes broke the way that user function arguments are parsed. Consider this debug session on the tests/functions.bas file:
Andrew Kesterson2025-06-21 15:02:08 -04:00
aed5295045
DIM A#(3) is working correctly, just need to fix assignments
Andrew Kesterson2025-06-21 12:09:20 -04:00
a1468ccb9d
WIP : Dimensioning is setup but not working, assignments always go to index 0 regardless of dimensions, see tests/ararys.bas
Andrew Kesterson2025-06-19 19:47:45 -04:00
4244c015ec
Resolved incorrect variable types on creation and incompatible variable assignments, working through remaining failing tests
Andrew Kesterson2025-06-17 21:57:48 -04:00
3a5146c5a1
BASIC is compiling again. BasicVariable is in place everywhere BasicValue had previously been used to hold variables. Still bugs.
Andrew Kesterson2025-06-17 21:31:21 -04:00