aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNic Gaffney <gaffney_nic@protonmail.com>2025-10-23 13:32:11 -0500
committerNic Gaffney <gaffney_nic@protonmail.com>2025-10-23 13:32:11 -0500
commitd7e8440accbcc4abea96531264addbc9ee627a07 (patch)
tree5177af4c37aadb96ba754b434aaefb9bced8d614
parentb888a221f832fd378db9e22f10155146c4fa4c5a (diff)
downloadsloth-struct.tar.gz
cleanupstruct
-rw-r--r--output425
-rw-r--r--test.sloth10
2 files changed, 0 insertions, 435 deletions
diff --git a/output b/output
deleted file mode 100644
index d22bb30..0000000
--- a/output
+++ /dev/null
@@ -1,425 +0,0 @@
-declare void @print(ptr %0)
-declare ptr @readln()
-declare ptr @filer(ptr %0)
-declare void @curshide()
-declare void @cursshow()
-declare i32 @wait(i32 %0)
-declare i32 @slen(ptr %0)
-declare i32 @parse_int(ptr %0)
-declare void @termpos(i32 %0, i32 %1)
-declare i32 @as_int(float %0)
-declare float @as_float(i32 %0)
-declare ptr @istr(i32 %0)
-declare i32 @system(ptr %0)
-declare i1 @sequals(ptr %0, ptr %1)
-declare void @termclear()
-declare i32 @randGen(i32 %0, i32 %1)
-declare i32 @serversock(i32 %0, ptr %1, i32 %2)
-declare i32 @clientsock(i32 %0, ptr %1)
-declare void @closesock(i32 %0, i1 %1)
-declare void @sendsock(ptr %0, i32 %1)
-declare ptr @recvsock(i32 %0)
-define i32 @abs(i32 %0) {
-entrypoint:
- %x = alloca i32, align 4
- store i32 %0, ptr %x, align 4
- %1 = load i32, ptr %x, align 4
- %lt = icmp slt i32 %1, 0
- br i1 %lt, label %then, label %else
-
-then: ; preds = %entrypoint
- %2 = load i32, ptr %x, align 4
- %neg = sub i32 0, %2
- ret i32 %neg
- br label %continue
-
-else: ; preds = %entrypoint
- br label %continue
-
-continue: ; preds = %else, %then
- %3 = load i32, ptr %x, align 4
- ret i32 %3
-}
-define float @fabs(float %0) {
-entrypoint:
- %x = alloca float, align 4
- store float %0, ptr %x, align 4
- %1 = load float, ptr %x, align 4
- %lt = fcmp olt float %1, 0.000000e+00
- br i1 %lt, label %then, label %else
-
-then: ; preds = %entrypoint
- %2 = load float, ptr %x, align 4
- %neg = fneg float %2
- ret float %neg
- br label %continue
-
-else: ; preds = %entrypoint
- br label %continue
-
-continue: ; preds = %else, %then
- %3 = load float, ptr %x, align 4
- ret float %3
-}
-define i32 @max(i32 %0, i32 %1) {
-entrypoint:
- %y = alloca i32, align 4
- %x = alloca i32, align 4
- store i32 %0, ptr %x, align 4
- store i32 %1, ptr %y, align 4
- %2 = load i32, ptr %x, align 4
- %3 = load i32, ptr %y, align 4
- %gt = icmp sgt i32 %2, %3
- br i1 %gt, label %then, label %else
-
-then: ; preds = %entrypoint
- %4 = load i32, ptr %x, align 4
- ret i32 %4
- br label %continue
-
-else: ; preds = %entrypoint
- br label %continue
-
-continue: ; preds = %else, %then
- %5 = load i32, ptr %y, align 4
- ret i32 %5
-}
-define i32 @min(i32 %0, i32 %1) {
-entrypoint:
- %y = alloca i32, align 4
- %x = alloca i32, align 4
- store i32 %0, ptr %x, align 4
- store i32 %1, ptr %y, align 4
- %2 = load i32, ptr %x, align 4
- %3 = load i32, ptr %y, align 4
- %lt = icmp slt i32 %2, %3
- br i1 %lt, label %then, label %else
-
-then: ; preds = %entrypoint
- %4 = load i32, ptr %x, align 4
- ret i32 %4
- br label %continue
-
-else: ; preds = %entrypoint
- br label %continue
-
-continue: ; preds = %else, %then
- %5 = load i32, ptr %y, align 4
- ret i32 %5
-}
-define float @fmax(float %0, float %1) {
-entrypoint:
- %y = alloca float, align 4
- %x = alloca float, align 4
- store float %0, ptr %x, align 4
- store float %1, ptr %y, align 4
- %2 = load float, ptr %x, align 4
- %3 = load float, ptr %y, align 4
- %gt = fcmp ogt float %2, %3
- br i1 %gt, label %then, label %else
-
-then: ; preds = %entrypoint
- %4 = load float, ptr %x, align 4
- ret float %4
- br label %continue
-
-else: ; preds = %entrypoint
- br label %continue
-
-continue: ; preds = %else, %then
- %5 = load float, ptr %y, align 4
- ret float %5
-}
-define float @fmin(float %0, float %1) {
-entrypoint:
- %y = alloca float, align 4
- %x = alloca float, align 4
- store float %0, ptr %x, align 4
- store float %1, ptr %y, align 4
- %2 = load float, ptr %x, align 4
- %3 = load float, ptr %y, align 4
- %lt = fcmp olt float %2, %3
- br i1 %lt, label %then, label %else
-
-then: ; preds = %entrypoint
- %4 = load float, ptr %x, align 4
- ret float %4
- br label %continue
-
-else: ; preds = %entrypoint
- br label %continue
-
-continue: ; preds = %else, %then
- %5 = load float, ptr %y, align 4
- ret float %5
-}
-define float @pow(float %0, float %1) {
-entrypoint:
- %power = alloca float, align 4
- %y = alloca float, align 4
- %x = alloca float, align 4
- store float %0, ptr %x, align 4
- store float %1, ptr %y, align 4
- %2 = load float, ptr %x, align 4
- store float %2, ptr %power, align 4
- br label %loop
-
-loop: ; preds = %"loop body", %entrypoint
- %3 = load float, ptr %y, align 4
- %gt = fcmp ogt float %3, 1.000000e+00
- br i1 %gt, label %"loop body", label %"after loop"
-
-"loop body": ; preds = %loop
- %4 = load float, ptr %power, align 4
- %5 = load float, ptr %x, align 4
- %mul = fmul float %4, %5
- store float %mul, ptr %x, align 4
- %6 = load float, ptr %y, align 4
- %sub = fsub float %6, 1.000000e+00
- store float %sub, ptr %y, align 4
- br label %loop
-
-"after loop": ; preds = %loop
- %7 = load float, ptr %x, align 4
- ret float %7
-}
-define i32 @floor(float %0) {
-entrypoint:
- %x = alloca float, align 4
- store float %0, ptr %x, align 4
- %1 = load float, ptr %x, align 4
- %2 = load float, ptr %x, align 4
- %mod = frem float %2, 1.000000e+00
- %3 = call float @fabs(float %mod)
- %sub = fsub float %1, %3
- %4 = call i32 @as_int(float %sub)
- ret i32 %4
-}
-define i32 @ceil(float %0) {
-entrypoint:
- %x = alloca float, align 4
- store float %0, ptr %x, align 4
- %1 = load float, ptr %x, align 4
- %lt = fcmp olt float %1, 0.000000e+00
- br i1 %lt, label %then, label %else
-
-then: ; preds = %entrypoint
- %2 = load float, ptr %x, align 4
- %3 = call i32 @floor(float %2)
- %sub = sub i32 %3, 1
- ret i32 %sub
- br label %continue
-
-else: ; preds = %entrypoint
- br label %continue
-
-continue: ; preds = %else, %then
- %4 = load float, ptr %x, align 4
- %5 = call i32 @floor(float %4)
- %add = add i32 %5, 1
- ret i32 %add
-}
-define i32 @round(float %0) {
-entrypoint:
- %ret = alloca i32, align 4
- %x = alloca float, align 4
- store float %0, ptr %x, align 4
- %1 = load float, ptr %x, align 4
- %2 = call i32 @floor(float %1)
- store i32 %2, ptr %ret, align 4
- %3 = load float, ptr %x, align 4
- %mod = frem float %3, 1.000000e+00
- %4 = call float @fabs(float %mod)
- %gt = fcmp oge float %4, 5.000000e-01
- br i1 %gt, label %then, label %else
-
-then: ; preds = %entrypoint
- %5 = load float, ptr %x, align 4
- %6 = call i32 @ceil(float %5)
- store i32 %6, ptr %ret, align 4
- br label %continue
-
-else: ; preds = %entrypoint
- br label %continue
-
-continue: ; preds = %else, %then
- %7 = load i32, ptr %ret, align 4
- ret i32 %7
-}
-define void @println(ptr %0) {
-entrypoint:
- %str = alloca ptr, align 8
- store ptr %0, ptr %str, align 8
- %1 = load ptr, ptr %str, align 8
- call void @print(ptr %1)
- %str1 = tail call ptr @malloc(i32 mul (i32 ptrtoint (ptr getelementptr (i8, ptr null, i32 1) to i32), i32 7))
- store [2 x i8] c"\0A\00", ptr %str1, align 1
- call void @print(ptr %str1)
- ret void
-}
-define void @printMan(float %0, float %1, float %2, float %3, i32 %4, i32 %5) {
-entrypoint:
- %temp = alloca float, align 4
- %count = alloca float, align 4
- %zImg = alloca float, align 4
- %zReal = alloca float, align 4
- %cImg = alloca float, align 4
- %cReal = alloca float, align 4
- %y = alloca i32, align 4
- %x = alloca i32, align 4
- %plane = alloca float, align 4
- %maxIter = alloca float, align 4
- %maxVal = alloca float, align 4
- %size = alloca float, align 4
- store float %0, ptr %size, align 4
- store float %1, ptr %maxVal, align 4
- store float %2, ptr %maxIter, align 4
- store float %3, ptr %plane, align 4
- store i32 %4, ptr %x, align 4
- store i32 %5, ptr %y, align 4
- %6 = load i32, ptr %x, align 4
- %7 = call float @as_float(i32 %6)
- %8 = load float, ptr %plane, align 4
- %mul = fmul float %7, %8
- %9 = load float, ptr %size, align 4
- %div = fdiv float %mul, %9
- %sub = fsub float %div, 2.000000e+00
- store float %sub, ptr %cReal, align 4
- %10 = load i32, ptr %y, align 4
- %11 = call float @as_float(i32 %10)
- %12 = load float, ptr %plane, align 4
- %mul1 = fmul float %11, %12
- %13 = load float, ptr %size, align 4
- %div2 = fdiv float %mul1, %13
- %sub3 = fsub float %div2, 2.000000e+00
- store float %sub3, ptr %cImg, align 4
- store float 0.000000e+00, ptr %zReal, align 4
- store float 0.000000e+00, ptr %zImg, align 4
- store float 0.000000e+00, ptr %count, align 4
- br label %loop
-
-loop: ; preds = %continue, %entrypoint
- %14 = load float, ptr %zReal, align 4
- %15 = load float, ptr %zReal, align 4
- %mul4 = fmul float %14, %15
- %16 = load float, ptr %zImg, align 4
- %17 = load float, ptr %zImg, align 4
- %mul5 = fmul float %16, %17
- %add = fadd float %mul4, %mul5
- %18 = load float, ptr %maxVal, align 4
- %le = fcmp ole float %add, %18
- %19 = load float, ptr %count, align 4
- %20 = load float, ptr %maxIter, align 4
- %lt = fcmp olt float %19, %20
- %logand = and i1 %le, %lt
- br i1 %logand, label %"loop body", label %"after loop"
-
-"loop body": ; preds = %loop
- %21 = load float, ptr %zReal, align 4
- %22 = load float, ptr %zReal, align 4
- %mul6 = fmul float %21, %22
- %23 = load float, ptr %zImg, align 4
- %24 = load float, ptr %zImg, align 4
- %mul7 = fmul float %23, %24
- %sub8 = fsub float %mul6, %mul7
- %25 = load float, ptr %cReal, align 4
- %add9 = fadd float %sub8, %25
- store float %add9, ptr %temp, align 4
- %26 = load float, ptr %zReal, align 4
- %mul10 = fmul float 2.000000e+00, %26
- %27 = load float, ptr %zImg, align 4
- %mul11 = fmul float %mul10, %27
- %28 = load float, ptr %cImg, align 4
- %add12 = fadd float %mul11, %28
- store float %add12, ptr %zImg, align 4
- %29 = load float, ptr %temp, align 4
- store float %29, ptr %zReal, align 4
- %30 = load float, ptr %count, align 4
- %add13 = fadd float %30, 1.000000e+00
- store float %add13, ptr %count, align 4
- %31 = load float, ptr %count, align 4
- %32 = call i32 @as_int(float %31)
- %33 = load float, ptr %maxIter, align 4
- %34 = call i32 @as_int(float %33)
- %35 = icmp eq i32 %32, %34
- br i1 %35, label %then, label %else
-
-"after loop": ; preds = %loop
- ret void
-
-then: ; preds = %"loop body"
- %36 = load i32, ptr %x, align 4
- %37 = load i32, ptr %y, align 4
- call void @termpos(i32 %36, i32 %37)
- %str = tail call ptr @malloc(i32 mul (i32 ptrtoint (ptr getelementptr (i8, ptr null, i32 1) to i32), i32 9))
- store [4 x i8] c"\E2\96\88\00", ptr %str, align 1
- call void @print(ptr %str)
- br label %continue
-
-else: ; preds = %"loop body"
- br label %continue
-
-continue: ; preds = %else, %then
- br label %loop
-}
-define i32 @main() {
-entrypoint:
- %range4 = alloca { i32, i32 }, align 8
- %range = alloca { i32, i32 }, align 8
- %plane = alloca float, align 4
- %maxIter = alloca float, align 4
- %maxVal = alloca float, align 4
- %size = alloca float, align 4
- store float 1.000000e+03, ptr %size, align 4
- store float 4.000000e+00, ptr %maxVal, align 4
- store float 5.000000e+01, ptr %maxIter, align 4
- store float 4.000000e+00, ptr %plane, align 4
- %0 = load float, ptr %size, align 4
- %1 = call i32 @as_int(float %0)
- store { i32, i32 } { i32 0, i32 %1 }, ptr %range, align 4
- %current = getelementptr inbounds { i32, i32 }, ptr %range, i32 0, i32 0
- %end = getelementptr inbounds { i32, i32 }, ptr %range, i32 0, i32 1
- br label %loop
-
-loop: ; preds = %"after loop3", %entrypoint
- %2 = load i32, ptr %current, align 4
- %3 = load i32, ptr %end, align 4
- %4 = icmp slt i32 %2, %3
- br i1 %4, label %"loop body", label %"after loop"
-
-"loop body": ; preds = %loop
- %5 = load float, ptr %size, align 4
- %6 = call i32 @as_int(float %5)
- store { i32, i32 } { i32 0, i32 %6 }, ptr %range4, align 4
- %current5 = getelementptr inbounds { i32, i32 }, ptr %range4, i32 0, i32 0
- %end6 = getelementptr inbounds { i32, i32 }, ptr %range4, i32 0, i32 1
- br label %loop1
-
-"after loop": ; preds = %loop
- ret i32 0
-
-loop1: ; preds = %"loop body2", %"loop body"
- %7 = load i32, ptr %current5, align 4
- %8 = load i32, ptr %end6, align 4
- %9 = icmp slt i32 %7, %8
- br i1 %9, label %"loop body2", label %"after loop3"
-
-"loop body2": ; preds = %loop1
- %10 = load float, ptr %size, align 4
- %11 = load float, ptr %maxVal, align 4
- %12 = load float, ptr %maxIter, align 4
- %13 = load float, ptr %plane, align 4
- %14 = load i32, ptr %current, align 4
- %15 = load i32, ptr %current5, align 4
- call void @printMan(float %10, float %11, float %12, float %13, i32 %14, i32 %15)
- %16 = load i32, ptr %current5, align 4
- %17 = add i32 %16, 1
- store i32 %17, ptr %current5, align 4
- br label %loop1
-
-"after loop3": ; preds = %loop1
- %18 = load i32, ptr %current, align 4
- %19 = add i32 %18, 1
- store i32 %19, ptr %current, align 4
- br label %loop
-}
diff --git a/test.sloth b/test.sloth
deleted file mode 100644
index be3b1de..0000000
--- a/test.sloth
+++ /dev/null
@@ -1,10 +0,0 @@
-
-fn getStr() Bool
-{
- return true;
-}
-
-fn main() Int {
- val poggers: Int = getStr();
- return 0;
-}