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)
* 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

index 4deece7..264317d 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 4deece7e9d0aa40c5f49611113e404f8cd1a46b2
+Subproject commit 264317d99f80ae31709044fd3833b7acc845977c
diff --git a/pilex b/pilex
index 426ee6e..0dee319 160000 (submodule)
--- a/pilex
+++ b/pilex
@@ -1 +1 @@
-Subproject commit 426ee6ea15a5e813d4f86f2466118b8aa3c0943f
+Subproject commit 0dee319e25626d529bd2db9a4bc9236741e4a5fc