/xcompiler

compiler for a toy language, hopefully self compile soon

Primary LanguageC++GNU General Public License v3.0GPL-3.0

xcompiler

Steps

Tokenizer -> Parser -> Semantics (typechecking) -> Optimization -> Codegen -> Assembler -> Linker

Status

Stage Status
Tokenizer
Parser
Semantics (typechecking)
Optimization
Codegen 🔵
Assembler 🔵 using nasm
Linker 🔵 using gnu ld
vec3 : struct {
    f32 x;
    f32 y;
    f32 z;
};

add : func(a : i32, b : i32)(i32) = {
    return(a+b);
};

multiply_by_two : func(input : i32)(i32) = {
    return(input*2);
};

main : func()(i32) = {
    test := 5;
    test = multiply_by_two(test);

    a := 1;
    b := 1;
    c := add(a, b);

    test2 := vec3(x = 1.0, y = 2.0, z = 3.0);

    return(0);
};