doc: sample: add for and while loop samples

This commit is contained in:
2025-09-08 15:30:44 +01:00
parent cb63e8d016
commit 2ff85a7505
4 changed files with 83 additions and 0 deletions

31
doc/sample/ForLoop.mie Normal file
View File

@@ -0,0 +1,31 @@
data @cout = external global id
data @.str.0 = str "hello"
define void @init() static {
entry:
%0 = load str, ptr @.str.0
%str = alloca id
store str %0, ptr %str
%1 = load id, ptr %str
%for.it = msg id, id %1, @_M8iteratorE
br label %for.cond
for.cond:
%for.value = msg id, id %for.it, @_M5valueE
%for.finished = cmp eq id %for.value, null
br i1 %for.finished, label %for.end, label %for.body
for.body:
%c = alloca id
store id %for.value, ptr %c
%2 = load id, ptr @cout
%3 = load id, ptr %c
msg void, id %2, @_M03putE [ id %3 ]
br label %for.inc
for.inc:
msg void, id %for.it, @_M8moveNextE
br label %for.cond
for.end:
ret void
}