added an option to redefine control structures

This commit is contained in:
igor
2026-03-16 10:30:53 +01:00
parent fd030be086
commit 78bf6c132f
8 changed files with 572 additions and 86 deletions

View File

@@ -0,0 +1,5 @@
11
22
33
5
3

View File

@@ -0,0 +1,36 @@
import stdlib/stdlib.sl
import stdlib/control.sl
word main
1 if
11 puti cr
else
99 puti cr
end
0 if
99 puti cr
else
22 puti cr
end
0 if
500 puti cr
else 1 if
33 puti cr
else
44 puti cr
end
0
5 for
1 +
end
puti cr
0
while dup 3 < do
1 +
end
puti cr
end

View File

@@ -0,0 +1 @@
[error] word 'i' is compile-time only and cannot be used at runtime while emitting 'main'

View File

@@ -0,0 +1,4 @@
{
"expect_compile_error": true,
"description": "'i' is compile-time only and rejected in runtime code"
}

View File

@@ -0,0 +1,8 @@
import stdlib/stdlib.sl
word main
0
3 for
i puti cr
end
end