Open

Description
For Loops Not Executing Correctly in SimpleScript
Description
In SimpleScript, for
loops do not execute as expected. When using a typical loop like for (let i = 1; i <= 5; i++)
, the loop either does not iterate correctly or breaks prematurely. This disrupts core control flow functionality and limits usage in real-world scenarios.
Steps to Reproduce
- Write a SimpleScript program with a
for
loop:for (let i = 1; i <= 5; i++) { print(i); }
- Run the script using the interpreter/web interface.
- Observe the output.
Expected Behavior
The loop should print the numbers from 1 through 5:
1
2
3
4
5
Actual Behavior
The output either shows only the first value, skips iterations, or nothing is printed at all.
Possible Causes
- Off-by-one error in loop bounds
- Interpreter not handling loop initialization or increment properly
- Incorrect tokenization or parsing of the
for
loop structure
Environment
- SimpleScript Version: Latest from
main
- Platform: Web (https://simple-script-five.vercel.app/)
- Browser: Chrome/Firefox
Additional Context
This issue affects the usability of SimpleScript in basic looping tasks and may hinder educational use cases. A fix should ensure:
- Proper parsing and evaluation of loop bounds
- Execution of loop body on each iteration
- Correct variable scope management
Please investigate and fix the issue. Happy to test and provide feedback!
Thanks for your hard work!