自制语言更新日志
  • 板块灌水区
  • 楼主wangziwenhk
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/8/10 09:35
  • 上次更新2024/8/10 10:39:29
查看原帖
自制语言更新日志
727556
wangziwenhk楼主2024/8/10 09:35

Riddle Language

耗时 114514 分钟我终于把结构体的访问写出来了

Github

测试代码

package main;
class sss{
    var a:int;
    var b:int;
    var c:int;
}
fun main():int{
    var a:sss;
    a.c = 1;
    printf("%d",a.c);
    return 0;
}

输出

; ModuleID = 'main'
source_filename = "main"

%sss = type { i32 }

@0 = private unnamed_addr constant [3 x i8] c"%d\00", align 1

declare i32 @printf(ptr, ...)

define i32 @main() {
entry:
  %a = alloca %sss, align 8
  %0 = getelementptr inbounds %sss, ptr %a, i32 0, i32 0
  %1 = load i32, ptr %0, align 4
  store i32 1, ptr %0, align 4
  %2 = getelementptr inbounds %sss, ptr %a, i32 0, i32 0
  %3 = load ptr, ptr %2, align 8
  %4 = call i32 (ptr, ...) @printf(ptr @0, ptr %3)
  ret i32 0
}
2024/8/10 09:35
加载中...