AuraScript: Programming Language of the Genz banner

AuraScript: Programming Language of the Genz

12 devlogs
19h 21m 21s

hello fam ! AuraScript is a interpreter language (like python) built from scratch using C++ as a bonus i optimisated it used highly optimisated LUTs and Binary approaches, and made it faster than python.

This project uses AI

used Ai only for the learning about the optimisation techniques & research , NEVER VIBE CODED

Demo Repository

Loading README...

2025cs0291

Shipped this project!

I made a custom programming language using a bit of Gen-Z slang and a LOT of bare-metal C++.

The highlight feature is the silly ass syntax where you can just use words like lowkey and yap to bullshit your way through your logic. It doesn’t have a heavy virtual machine or bytecode compiler, it instead walks the AST directly in memory, so it hits sub-millisecond execution speeds that actually beat Python.

The challenging part was the C++ standard library distribution, I would’ve just shipped the raw binary if I could, and I did try, but it didn’t go anywhere because of missing Windows DLLs so I had to make compromises and statically link everything in order for it to run on other machines at all. I also had some difficulties with the setup.bat installer, but the issue was the legacy Windows 1024-character limit literally chopping off the system PATH, but this bug ONLY occurred when automating the environment setup, not when actually compiling or running the engine.

I’m proud of how polished everything is. I have a GitHub release that packs a standalone .exe with zero dependencies so anyone can download and run it instantly. I also have a folder of classic algorithm examples to prove it’s Turing complete that no one will probably look at because they just want to see the boss fight demo. The engine execution is also very polished, it uses memory-mapped string buffering to atomic-flush the console to make the performance benchmark look insanely fast. The whole project is the closest thing I have to a “real” product.

2025cs0291

Devlog #11: We are fast as fk!!!


  • tried the older classic std::cout method with the C native faster printf , but it was’nt enough
  • So went on towards the string buffer approach to load the characters on the RAM asap

CHANGE LOGS
(note: in the github “AdinathPT” is also me i forgot to change my email id :) )

Attachment
0
2025cs0291

Devlog #10 : Finally a file can run !!


  • Previously all the source code was just a string inside the main
  • Now the strings are stored in an external file <filename>.aura
  • it can be accessed via the cmd using the command ./aura.exe <filename>.aura
  • I made it possible with the classic arg reader from the cmd + basic fstream file handling
0
2025cs0291

Devlog #10 : While loop


  • this part was a bit tricky
  • while parsing a block branch from the AST was a classic and a bit easy
  • I had to try out a lot to final figure out how to loop through the same Block
Attachment
0
2025cs0291

Devlog #9 : Conditional Statement


  • This is by far the most hardest thing ton figure out for me.
  • I had to refactor my code to find out the and create the AST allocation for the Branch of Block and IF/ELSE statements
Attachment
0
2025cs0291

Devlog #8: Comparator Operators


  • i had to create 4 new TOKEN_TYPES along with this i had to also create a reduce their priority in the pratt's parser algorithm So that they wont magnetise while other mathematical expressions are running and ends up breaking the code
Attachment
0
2025cs0291

Devlog #4: Made string,bool,integer,null work !!


  • All the 4 objects were parsed perfectly , with shared pointers to make them work faster.
  • Also made both the local language & pre known tokens to work , for example both becomes and = works perfectly fine.
Attachment
Attachment
Attachment
0
2025cs0291

Devlog #3: Created the environment for the lowkey AST branch


  • Created a global scope environment for mapping the literals with the values of Lowkey branch from the AST
Attachment
0
2025cs0291

Devlog #1: Just Started off.


Just started by seperating the by creating the lexer inroder to convert the raw string stream into the desired keywords,identifiers,etc.


GOALS:

  • Make a language FASTER THAN PYTHON
  • Make the language work witht he GENZ slangs
  • Making anyone understand the core concept of language works by having an INTERACTIVE CLI GUIDELINE TO MAKE YOUR OWN LANGUAGE
Attachment
0