diff options
| author | Paul Buetow <paul@buetow.org> | 2026-02-19 00:33:17 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-02-19 00:33:17 +0200 |
| commit | 147153bf6aadd52d32f6beffc17f610c837ce17f (patch) | |
| tree | 8041cea988dc11bc0cefeedd7d895fe9bdb02274 /docs/stats.txt | |
| parent | 7a0407c03a0af18a38fcea4312796f18a276e541 (diff) | |
Implement break and next for while/until loops
TT_BREAK and TT_NEXT were already tokenised; this wires them up:
- _program(): guard statement loop with ct == CONTROL_NONE so a break/next
flag set inside a loop body stops block execution and propagates upward
- _control(): add TT_BREAK and TT_NEXT cases that set CONTROL_BREAK /
CONTROL_NEXT on p_interpret->ct and return immediately
- while/until loop: replace the commented-out switch with active if/else
logic that clears the flag and either stops iteration (break) or lets
the loop re-evaluate its condition (next)
Add examples/break_next.fy to exercise both keywords in while and until
loops; expected output: 5 / 12 / 7.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'docs/stats.txt')
| -rw-r--r-- | docs/stats.txt | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/docs/stats.txt b/docs/stats.txt index 81214dc..583ddf1 100644 --- a/docs/stats.txt +++ b/docs/stats.txt @@ -1,6 +1,6 @@ make[1]: Entering directory '/home/paul/git/fype' ===> Num of C source files : 46 -===> Num of C source lines : 8225 -===> Num of Fype source examples : 14 -===> Num of Fype source lines : 362 +===> Num of C source lines : 8237 +===> Num of Fype source examples : 15 +===> Num of Fype source lines : 387 make[1]: Leaving directory '/home/paul/git/fype' |
