In applesoft_basic:
authorNick Downing <nick@ndcode.org>
Tue, 17 May 2022 14:43:19 +0000 (00:43 +1000)
committerNick Downing <nick@ndcode.org>
Tue, 17 May 2022 14:43:19 +0000 (00:43 +1000)
commit7280323857737e7749a22290c13d005a149c6148
tree4f77a36ef932a5ba30a2a53a30a03116bb0085ef
parentec180788c413862839fe05200ae917c3a6f727e1
In applesoft_basic:
* Add PEEK, POKE and CALL (via apple_io, to emulate any needed monitor routines)
* Allow multiple arrays to be dimensioned in the same DIM statement
* Add TEXT, GR, COLOR=, PLOT, HLIN, VLIN statements
* Implement PRINT TAB() and very basic cursor position tracking
* Implement REM statement
* Correctly handle DATA other than STR_LITERAL as unquoted possibly empty strings, allow READing multiple lvalues, fix bug of RESTORE requiring the line number
* Add applesoft-like (but not identical) tokenizer and detokenizer
* Make interpreter accept tokenized input, this solves a problem with IF A > B THEN 100 which treated BTHEN100 as a variable name (now tokenizing has priority)
* Bulk add statements and functions in token order (reorder those already there)
* Implement all functions except some I/O related ones
* Implement more statements and ignore some I/O related ones, LEMONADE can run

In pilex:
* Fix a typo in non-groups Python skeleton (introduced with last commit), remove some prints in that skeleton, fix missing default-rule group in flex generation
* Pass python flag into AST.post_process(), to generate correct default actions
* Get non-groups Python skeleton working, seems it wasn't tested at all before
applesoft_basic
pilex