Projects

A collection of my programming projects, with a focus on systems programming, compilers, and web development. Each project represents a step in my learning journey.

Filter by tags:

C++Code AnalysisDocumentationIR GenerationLLVMLSPNext.jsOptimizationParserReactTypeScriptshadcn/ui
Cryo Compiler
Featured
A compiler built from scratch for a C-like language that targets LLVM IR.
C++LLVMParserOptimizationIR Generation
80%
Cryo Language Server
Featured
A language server for the Cryo programming language built with LSP.
TypeScriptLSPParserCode Analysis
40%
Terminal-themed Portfolio
A personal portfolio website with Unix terminal aesthetics built with Next.js and React.
TypeScriptReactNext.jsshadcn/ui
100%
Cryo Programming Language Website
The official website for the Cryo programming language.
TypeScriptReactNext.jsDocumentation
100%

Featured Project: Compiler

Custom C-like Compiler

80% Complete

This project implements a full compilation pipeline including lexing, parsing, semantic analysis, and code generation targeting LLVM IR. The compiler supports most C features including structs, functions, control flow, and basic type checking.

Implementation Details

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// Sample Code from core.cryo
struct Int {
    val: i32;

    isZero: boolean;
    isNegative: boolean;

    constructor(__val__: i32) {
        this.val = __val__;
        this.isZero = (this.val == 0);
        this.isNegative = (this.val < 0);
    }

    // The core Int methods.
    add(__val__: i32) -> Int;
    sub(__val__: i32) -> Int;
}

struct String {
    val: str;
    length: i32;
    capacity: i32;

    isEmpty: boolean;
    isNull: boolean;


    constructor(__str__: str) {
        this.val = __str__;
        this.length = strlen_export(__str__);
        this.capacity = this.length + 1; // +1 for null terminator
        this.isEmpty = (this.length == 0);
        this.isNull = (this.val == null);
    }

    append(__str__: str) -> String;
    prepend(__str__: str) -> String;

    // Other core String methods...
}

implement struct String {
    append(__str__: str) -> String {
        // Implementation of the append method.
        return this;
    }

    prepend(__str__: str) -> String {
        // Implementation of the prepend method.
        return this;
    }
}       
C++LLVMParserOptimizationIR Generation