I am not aware of any BASIC dialect whose "read" behaves that way, It's not a feature of classic/standard BASIC. I've found it in Sinclair BASIC, SuperBASIC, SBASIC and others. Anyway, a function to evaluate expressions would be more versatile. I have no plans to add the X11-BASIC dialect to Bywater BASIC at this time. Of course. I didn't suggested that. Besides, that would be nonsense, because X11-Basic is not an old classic dialect, but a modern implementation under active development.
DIM variables in a SUB (or FUNCTION) are local to the SUB (or FUNCTION). This is by design. Ok. Thank you. As local is not supported (in the Bywater variant), and the documentation does not explain that feature, I didn't suspect arrays are treated differently from ordinary variables. By the way, a GOSUB (or GOTO) from within a SUB (or FUNCTION) to a line outside that SUB (or FUNCTION), such as the "gosub init1" from within "sub init3", is not supported. That restriction is not mentioned in the glossary....
Array items above 0..10 not accessible is some cases
A function to evaluate expressions
Just in case someone happens to find this old post: BaCon could be an alternative. But it's not an interpreter, and expressions are passed to C "as is", so the feeling is quite different from ordinary BASIC.
Perfect! I edited the code, recompiled it and now it works as expected. I use X11-Basic and PC-BASIC for certain projects of mine that need UTF-8, but after trying bwBASIC 3.20 I'm considering it as an alternative. I hope the UTF-8 support will be fixed in the next version of bwBASIC. Thank you.
UTF-8 characters are not displayed
I've tried two older versions: 2.60 works fine, it prints UTF-8 characters; version 3.10 doesn't. Therefore I think this is a bug.