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
FeaturedA compiler built from scratch for a C-like language that targets LLVM IR.
C++LLVMParserOptimizationIR Generation
80%
Cryo Language Server
FeaturedA 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