Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
9f99e20
Update Readme.md
ANAS727189 Jul 10, 2025
8f8b36e
feat: created the server of the app
ANAS727189 Jul 10, 2025
2ceaf57
Merge branch 'master' of github.com:ANAS727189/Z-Studio
ANAS727189 Jul 10, 2025
38c610f
chore: removed env from tracking
ANAS727189 Jul 10, 2025
fc34dae
Update lang.doc
ANAS727189 Jul 10, 2025
d4d9383
feat: connected compiler and server and tested all routes
ANAS727189 Jul 12, 2025
a7dc163
feat: Tested all routes
ANAS727189 Jul 12, 2025
9f0fd54
feat: configured basic structure of frontend
ANAS727189 Jul 12, 2025
b8db466
feat: created hero section of landing page
ANAS727189 Jul 12, 2025
17c7b0e
feat: added showcase section and fixed the hero section
ANAS727189 Jul 13, 2025
5bea101
feat: added features and about me section
ANAS727189 Jul 13, 2025
8f2fb63
feat: added cta section, footer and updated all sections
ANAS727189 Jul 14, 2025
72b6804
feat: created basic version of code editor using monaco-editor
ANAS727189 Jul 14, 2025
8159cf0
fix: fixed the editor section, added more themes
ANAS727189 Jul 14, 2025
ab8e156
chore: removed env from tracking
ANAS727189 Jul 14, 2025
587ca5e
feat: connected backend with frontend and implemented api calls in fr…
ANAS727189 Jul 15, 2025
5464159
feat: completed the code editor section, tested it, fixed language bug
ANAS727189 Jul 15, 2025
746766b
fix: fixed responsiveness of app, fixed ui of settings tab
ANAS727189 Jul 15, 2025
394669c
feat: added docker containerization and fixed z-- errors
ANAS727189 Jul 16, 2025
cd362dc
feat: added extensive documentation page
ANAS727189 Jul 16, 2025
f51a5ae
chore: removed env from tracking
ANAS727189 Jul 16, 2025
0809356
chore: added .env to .gitignore
ANAS727189 Jul 16, 2025
8c6bc3a
fix: fixed some bugs and added sound
ANAS727189 Jul 16, 2025
2fc1551
fix: fixed build errors
ANAS727189 Jul 16, 2025
f9b5635
chore: added vercel config
ANAS727189 Jul 16, 2025
7d9ba69
chore: added vercel config
ANAS727189 Jul 16, 2025
25247c2
chore: added render config
ANAS727189 Jul 16, 2025
edc6f85
chore: deployed backend
ANAS727189 Jul 16, 2025
23a0951
fix: fixed a deployment bug
ANAS727189 Jul 16, 2025
6ba3682
feat: configured github actions yml file
ANAS727189 Jul 16, 2025
4d54921
chore: updated readme
ANAS727189 Jul 16, 2025
6ceb553
Update Readme.md
ANAS727189 Jul 16, 2025
cead458
fix: fixed a lang bug
ANAS727189 Jul 16, 2025
24fe50b
Merge branch 'master' of github.com:ANAS727189/Z-Studio
ANAS727189 Jul 16, 2025
cf622ea
fix: fixed a render llvm dependancy issue
ANAS727189 Jul 16, 2025
45ef78e
chore .
ANAS727189 Jul 16, 2025
c3494ea
fix: fixed llvm cmake-js dependancy issues with render
ANAS727189 Jul 17, 2025
e9c2ddd
fix: fixed llvm cmake-js dependancy issues with render
ANAS727189 Jul 17, 2025
5a2ff53
fix: fixed llvm cmake-js dependancy issues with render
ANAS727189 Jul 17, 2025
0c65839
fix: created an aptfile for render
ANAS727189 Jul 17, 2025
7b19b30
fix: fixed llvm binaries issue in aptfile
ANAS727189 Jul 17, 2025
4f98023
fix: fixed llvm binaries issue in aptfile
ANAS727189 Jul 17, 2025
ff7f6a9
fix: fixed postinstall script
ANAS727189 Jul 17, 2025
2c07205
fix: removed postinstall script
ANAS727189 Jul 17, 2025
fe6e60b
feat completed full dockerization of the server
ANAS727189 Jul 17, 2025
81923ed
fix: fixed the dockerfile
ANAS727189 Jul 17, 2025
ca64f00
fix: added bin/sh support in dockerfile using node-slim
ANAS727189 Jul 17, 2025
233ae69
fix: fixed the compiler path
ANAS727189 Jul 17, 2025
4ae0aa6
fix: added llvm to dockerfile
ANAS727189 Jul 17, 2025
f3bb9dc
chore: cleaned repo
ANAS727189 Jul 17, 2025
d9a4932
chore: cleaned repo
ANAS727189 Jul 17, 2025
f2538c4
chore: changed logo
ANAS727189 Jul 20, 2025
1d120cc
chore: changed logo
ANAS727189 Jul 20, 2025
0d77ca0
feat: v2:- added close button and renaming file option
ANAS727189 Aug 11, 2025
5f3f217
Create dependabot.yml
ANAS727189 Aug 11, 2025
be91cc0
Update dependabot.yml
ANAS727189 Aug 11, 2025
6e69324
Create SECURITY.md
ANAS727189 Aug 11, 2025
80b8d3a
Create FUNDING.yml
ANAS727189 Aug 11, 2025
49adc8d
Update SECURITY.md
ANAS727189 Aug 11, 2025
3927a66
Update SECURITY.md
ANAS727189 Aug 11, 2025
34a66ce
Update SECURITY.md
ANAS727189 Aug 11, 2025
6dcb4c7
chore: removed dependabot.yml
ANAS727189 Aug 11, 2025
adbc46e
Update Readme.md
ANAS727189 Oct 13, 2025
756a3cf
Update Readme.md
ANAS727189 Oct 24, 2025
48361eb
Update ping-render workflow to manual trigger only
ANAS727189 Dec 23, 2025
8ccd2b5
chore: fix render.yaml
ANAS727189 Dec 23, 2025
59bf4d5
Update ping-render.yml
ANAS727189 Dec 24, 2025
8d62c99
feat: add railway config
ANAS727189 Dec 24, 2025
91ff198
fix: fixed cors issue
ANAS727189 Dec 24, 2025
f8322e6
fix: fixed cors issue
ANAS727189 Dec 24, 2025
fc1906b
fix: fixed cors issue
ANAS727189 Dec 24, 2025
c3335f6
fix: fixed cors issue
ANAS727189 Dec 24, 2025
f4f864f
fix: fixed cors issue
ANAS727189 Dec 24, 2025
b42509d
chore(deps): bump lodash from 4.17.21 to 4.17.23 in /Compiler
dependabot[bot] Jan 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
node_modules
dist
.env
.vscode
*.log
frontend/node_modules
backend/node_modules
4 changes: 4 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# These are supported funding model platforms

github: [ANAS727189] # Your GitHub Sponsors-enabled username
buy_me_a_coffee: anas_is_me # Your Buy Me a Coffee username
12 changes: 12 additions & 0 deletions .github/workflows/ping-render.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Keep Render Backend Working

on:
workflow_dispatch:

jobs:
ping:
runs-on: ubuntu-latest
steps:
- name: Send HTTP ping to Render backend
run: |
curl -s https://z-studio.onrender.com/health-123
154 changes: 0 additions & 154 deletions Compiler(Z--)/output.ll

This file was deleted.

63 changes: 0 additions & 63 deletions Compiler(Z--)/src/index.js

This file was deleted.

File renamed without changes.
File renamed without changes.
146 changes: 146 additions & 0 deletions Compiler/output.ll
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
; ModuleID = 'compiler'
source_filename = "compiler"

@num1 = global double 0.000000e+00
@num2 = global double 0.000000e+00
@operation = global double 0.000000e+00
@result = global double 0.000000e+00
@str.18 = internal constant [22 x i8] c"Enter first number: \0A\00"
@fmt_scanf.19 = internal constant [4 x i8] c"%lf\00"
@fmt_clear.22 = internal constant [4 x i8] c"%*s\00"
@str.23 = internal constant [23 x i8] c"Enter second number: \0A\00"
@fmt_scanf.24 = internal constant [4 x i8] c"%lf\00"
@fmt_clear.27 = internal constant [4 x i8] c"%*s\00"
@str.28 = internal constant [41 x i8] c"Choose operation (1=+, 2=-, 3=*, 4=/): \0A\00"
@fmt_scanf.29 = internal constant [4 x i8] c"%lf\00"
@fmt_clear.32 = internal constant [4 x i8] c"%*s\00"
@str.33 = internal constant [10 x i8] c"Result: \0A\00"
@fmt.34 = internal constant [6 x i8] c"%.2f\0A\00"

declare i32 @printf(i8*, ...)

declare i32 @scanf(i8*, ...)

define double @calculate(double %a, double %b, double %op) {
entry0:
%a1 = alloca double, align 8
store double %a, double* %a1, align 8
%b2 = alloca double, align 8
store double %b, double* %b2, align 8
%op3 = alloca double, align 8
store double %op, double* %op3, align 8
%op4 = load double, double* %op3, align 8
%eqtmp = fcmp oeq double %op4, 1.000000e+00
%booltmp = uitofp i1 %eqtmp to double
%cmp4 = fcmp one double %booltmp, 0.000000e+00
br i1 %cmp4, label %then1, label %else2

then1: ; preds = %entry0
%a5 = load double, double* %a1, align 8
%b6 = load double, double* %b2, align 8
%addtmp = fadd double %a5, %b6
ret double %addtmp

else2: ; preds = %entry0
%op7 = load double, double* %op3, align 8
%eqtmp8 = fcmp oeq double %op7, 2.000000e+00
%booltmp9 = uitofp i1 %eqtmp8 to double
%cmp8 = fcmp one double %booltmp9, 0.000000e+00
br i1 %cmp8, label %then5, label %else6

ifcont3: ; preds = %ifcont7

then5: ; preds = %else2
%a10 = load double, double* %a1, align 8
%b11 = load double, double* %b2, align 8
%subtmp = fsub double %a10, %b11
ret double %subtmp

else6: ; preds = %else2
%op12 = load double, double* %op3, align 8
%eqtmp13 = fcmp oeq double %op12, 3.000000e+00
%booltmp14 = uitofp i1 %eqtmp13 to double
%cmp12 = fcmp one double %booltmp14, 0.000000e+00
br i1 %cmp12, label %then9, label %else10

ifcont7: ; preds = %ifcont11
br label %ifcont3

then9: ; preds = %else6
%a15 = load double, double* %a1, align 8
%b16 = load double, double* %b2, align 8
%multmp = fmul double %a15, %b16
ret double %multmp

else10: ; preds = %else6
%op17 = load double, double* %op3, align 8
%eqtmp18 = fcmp oeq double %op17, 4.000000e+00
%booltmp19 = uitofp i1 %eqtmp18 to double
%cmp16 = fcmp one double %booltmp19, 0.000000e+00
br i1 %cmp16, label %then13, label %else14

ifcont11: ; No predecessors!
br label %ifcont7

then13: ; preds = %else10
%a20 = load double, double* %a1, align 8
%b21 = load double, double* %b2, align 8
%divtmp = fdiv double %a20, %b21
ret double %divtmp

else14: ; preds = %else10
ret double 0.000000e+00
}

define i32 @main() {
entry17:
%num1 = alloca double, align 8
store double 0.000000e+00, double* %num1, align 8
%num2 = alloca double, align 8
store double 0.000000e+00, double* %num2, align 8
%operation = alloca double, align 8
store double 0.000000e+00, double* %operation, align 8
%0 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str.18, i32 0, i32 0))
%1 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @fmt_scanf.19, i32 0, i32 0), double* %num1)
%cmptmp = icmp eq i32 %1, 0
br i1 %cmptmp, label %input_fail20, label %input_cont21

input_fail20: ; preds = %entry17
store double 0.000000e+00, double* %num1, align 8
%2 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @fmt_clear.22, i32 0, i32 0))
br label %input_cont21

input_cont21: ; preds = %input_fail20, %entry17
%3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.23, i32 0, i32 0))
%4 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @fmt_scanf.24, i32 0, i32 0), double* %num2)
%cmptmp1 = icmp eq i32 %4, 0
br i1 %cmptmp1, label %input_fail25, label %input_cont26

input_fail25: ; preds = %input_cont21
store double 0.000000e+00, double* %num2, align 8
%5 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @fmt_clear.27, i32 0, i32 0))
br label %input_cont26

input_cont26: ; preds = %input_fail25, %input_cont21
%6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str.28, i32 0, i32 0))
%7 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @fmt_scanf.29, i32 0, i32 0), double* %operation)
%cmptmp2 = icmp eq i32 %7, 0
br i1 %cmptmp2, label %input_fail30, label %input_cont31

input_fail30: ; preds = %input_cont26
store double 0.000000e+00, double* %operation, align 8
%8 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @fmt_clear.32, i32 0, i32 0))
br label %input_cont31

input_cont31: ; preds = %input_fail30, %input_cont26
%num13 = load double, double* %num1, align 8
%num24 = load double, double* %num2, align 8
%operation5 = load double, double* %operation, align 8
%calltmp = call double @calculate(double %num13, double %num24, double %operation5)
%result = alloca double, align 8
store double %calltmp, double* %result, align 8
%9 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @str.33, i32 0, i32 0))
%result6 = load double, double* %result, align 8
%10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @fmt.34, i32 0, i32 0), double %result6)
ret i32 0
}
Loading