You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
I'm having trouble with Eleven creating syntax errors in the outputted BASIC.
In Eleven the line looks like this:
'''if (x>w or x<1 or y>h or y<1) then x=w/2'''
However, Eleven is outputting the line with a syntax error that I couldn't figure out. This is the line:
'''if(n>gorn<1oro>horo<1)thenn=g/2
?syntax error in line 3'''
However, if in the outputted BASIC code (not within Eleven) I go in an add spaces between keywords and expressions it runs without any errors:
'''if (n>g or n<1 or o>h or o<1) then n=g/2'''
What I found was that BASIC was tokenizing the "go" in "n>gorn<1" creating the syntax error. To eliminate the error I had to (in Eleven) enclose each comparator (is that the right word?) with a < or > in parentheses so that the "go" would not be tokenized.
To be clear, the fix in Eleven was to change n>gorn<1 to (n>g)or(n<1)
To Reproduce
See above.
Expected behavior
I expected Eleven's output to not create a keyword where none is in the source code. It should not combine a variable (e.g., g) with an "or" statement resulting in a new "go" keyword where it wasn't intended.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
I posted this on Discord on 9-Jan-2023.
The text was updated successfully, but these errors were encountered:
Test Environment (required)
Eleven Version: 0.5.0
MEGA65 Platform: MEGA65
ROM Release: 920377
Core Commit: 93d55f0
Describe the bug
I'm having trouble with Eleven creating syntax errors in the outputted BASIC.
In Eleven the line looks like this:
'''if (x>w or x<1 or y>h or y<1) then x=w/2'''
However, Eleven is outputting the line with a syntax error that I couldn't figure out. This is the line:
'''if(n>gorn<1oro>horo<1)thenn=g/2
?syntax error in line 3'''
However, if in the outputted BASIC code (not within Eleven) I go in an add spaces between keywords and expressions it runs without any errors:
'''if (n>g or n<1 or o>h or o<1) then n=g/2'''
What I found was that BASIC was tokenizing the "go" in "n>gorn<1" creating the syntax error. To eliminate the error I had to (in Eleven) enclose each comparator (is that the right word?) with a < or > in parentheses so that the "go" would not be tokenized.
To be clear, the fix in Eleven was to change n>gorn<1 to (n>g)or(n<1)
To Reproduce
See above.
Expected behavior
I expected Eleven's output to not create a keyword where none is in the source code. It should not combine a variable (e.g., g) with an "or" statement resulting in a new "go" keyword where it wasn't intended.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
I posted this on Discord on 9-Jan-2023.
The text was updated successfully, but these errors were encountered: