I'm going over bxbasm source code with a fine tooth comb right now.
When I last revised the code, I made a considerable number of changes as to how variables were handled, which I now regret.
As one might expect, major changes to existing code have a tendancy of introducing new bugs.
The way I left it, it was trending towards a VB style of variable interface, which is really not very Bxbasic.
Also, since what I was working on was never quite completed, there are large holes in the program that need to be plugged.
I need to take it back to the roots and decide what I want the out-come to look like.
Known (actual) bugs:
1: multiple data types can be (erroneously) assigned to the same variable name,
like: abc = 123
abc# = 99.9
PRINT abc
This should produce a parser error, (invalid data type), or, create two distinct variables.
2: no trap to guard against using reserved words as variable names,
like: test$ = "foobar"
generates an assembler error.
Originally, there was a mechanism in place (Hungarian notation) to guard against that happenning.
For some reason, I removed that safeguard. Can't remember why tho'.