diff options
| author | Paul Buetow <paul@buetow.org> | 2026-02-19 00:42:29 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-02-19 00:42:29 +0200 |
| commit | e1b9116c18cc3f5dae14aa99263650eca2e6a9ed (patch) | |
| tree | 574cdc73bfc7bc575a7e9a8b1315ced6dcb232c8 /docs/version.txt | |
| parent | 147153bf6aadd52d32f6beffc17f610c837ce17f (diff) | |
Implement loop (infinite) and do...while/until loops
Completes the 'loop, next, break, do' TODO entry — break and next
were landed in the previous commit; this adds the remaining two forms:
- loop { body } — infinite loop; the only exit is break. Simpler than
while/until since there is no condition expression to evaluate.
- do { body } while expr; / do { body } until expr; — post-condition
loop: body always executes at least once, condition is checked at the
bottom of each iteration. Condition tokens are collected until ';'
(mirrors _expression_get but stops at semicolon instead of '{'), then
replayed each iteration using the same temp-stack/temp-iterator
technique as while/until. Both break and next are supported.
Token changes: TT_LOOP and TT_DO added to the keyword enum in token.h,
registered in get_tt() and tt_get_name() in token.c.
Add examples/loop_do.fy; expected output: 5 / 12 / 11 / 5.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'docs/version.txt')
| -rw-r--r-- | docs/version.txt | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/version.txt b/docs/version.txt index ea87c13..c825cd1 100644 --- a/docs/version.txt +++ b/docs/version.txt @@ -1 +1 @@ -Fype Superalpha Build 9671 +Fype Superalpha Build 9673 |
