h-plus-plus-ansh
v1.0.0
Published
A Hinglish programming language
Downloads
103
Maintainers
Readme
H++ Programming Language 🚀
H++ is a custom interpreted programming language built from scratch
using JavaScript.
It includes its own Lexer, Parser, and Interpreter, along with a CLI
runner and a web-based playground.
This project demonstrates how a programming language works internally --- from tokenization to execution.
✨ Features
- Custom Hindi-style keywords
- Variables (
maanLo,pakka) - Conditions (
agar,warna,warnaAgar) - Loops (
ghumo,jabTak) - Functions (
kaam,vapas) - Logical operators (
aur,ya,nahi) - Break & Continue
- Absolute value operator
| | - Unary minus support (
-5) - CLI execution
- Web Playground with Monaco Editor
- Downloadable
.hppfiles - Shareable code links
📂 Project Structure
HPP/
│
├── lexer.js
├── parser.js
├── interpreter.js
├── run.js
├── server.js
└── public/
└── index.html🛠 Installation
Make sure you have Node.js installed.
Install dependency:
npm install express▶ Running H++ from Terminal
Create a .hpp file, for example:
example.hpp
bolo("Start");
bolo(|-5|);
ghumo i ko 1 se 3 tak {
bolo(i);
}Run it using:
node run.js example.hpp🌐 Running Web Playground
Start the server:
node server.jsOpen in browser:
http://localhost:3000You can: - Write H++ code - Run it instantly - Download .hpp files -
Share code via link
🧠 Language Syntax Overview
Variables
maanLo x = 10;
pakka y = 20;bolo("Hello World");If Statement
agar (x > 5) {
bolo("Greater");
}For Loop
ghumo i ko 1 se 5 tak {
bolo(i);
}Reverse loop:
ghumo i ko 5 se 1 tak ulta {
bolo(i);
}While Loop
jabTak (x > 0) {
bolo(x);
}Functions
kaam square(n) {
vapas n * n;
}
bolo(square(5));Absolute Value
bolo(|-5|);
bolo(|-100+20|);H++ Language - Complete Keywords List 🚀
This document contains all reserved keywords of the H++ programming language (v3).
📦 Variable Declaration
- maanLo → Declare a normal variable
- pakka → Declare a constant variable
🖨 Output
- bolo → Print output to console
Example: bolo("Hello");
🔀 Conditional Statements
- agar → if
- warnaAgar → else if
- warna → else
🔁 Loops
For Loop Keywords
- ghumo
- ko
- se
- tak
- ulta (for reverse looping)
While Loop Keyword
- jabTak
🧠 Functions
- kaam → Function declaration
- vapas → Return statement
🔗 Logical Operators
- aur → Logical AND
- ya → Logical OR
- nahi → Logical NOT
⛔ Flow Control
- break
- continue
📋 Complete Reserved Keywords List
maanLo pakka bolo agar warnaAgar warna ghumo ko se tak ulta jabTak kaam vapas aur ya nahi break continue
Total Reserved Keywords: 19
⚙ How It Works Internally
- Lexer → Converts source code into tokens\
- Parser → Builds an Abstract Syntax Tree (AST)\
- Interpreter → Executes the AST\
- Environment → Handles variable scope and functions
🎯 Purpose of This Project
This project was built to understand:
- How programming languages work internally
- How parsers and interpreters are designed
- How execution environments manage scope
- How to extend a language with new syntax
🚀 Future Improvements
- Operator precedence system
- Arrays and objects
- Built-in math library
- Error highlighting in playground
- VS Code extension
- Bytecode compilation
- Online deployment
👨💻 Author
by AnshCoder - Ansh Sharma
